Object-oriented constructs in C++
In this section, we are going to compare what we did in C and the underlying mechanisms employed in a famous C++ compiler, g++
in this case, for supporting encapsulation, inheritance, polymorphism, and abstraction.
We want to show that there is a close accordance between the methods by which object-oriented concepts are implemented in C and C++. Note that, from now on, whenever we refer to C++, we are actually referring to the implementation of g++
as one of the C++ compilers, and not the C++ standard. Of course, the underlying implementations can be different for various compilers, but we don't expect to see a lot of differences. We will also be using g++
in a 64-bit Linux setup.
We are going to use the previously discussed techniques to write an object-oriented code in C, and then we write the same program in C++, before jumping to the final conclusion.
Encapsulation
It is difficult to go deep into a C++ compiler and see how it uses...