深入剖析C++对象模型
C++是一种面向对象的编程语言,它将数据和函数封装在一个独立的模块中,这就是所谓的对象。C++对象模型是C++语言中实现面向对象编程的一种机制,其核心思想在于将对象的定义和实现分离。本文将深入剖析C++对象模型,并使用相应的源代码进行说明。
首先,我们需要了解C++对象模型中的重要概念——虚函数。虚函数是用于实现多态性的机制。在C++中,虚函数通过虚函数表(VTable)来实现,每个类都有自己的虚函数表。在调用虚函数时,会到相应对象的虚函数表中查找对应的函数指针进行调用。
接下来,我们来看一个例子:
#include<iostream>
using namespace std;
class Shape {
protected:
int width, height;
public:
Shape( int a = 0, int b = 0) {
width = a;
height = b;
}
virtual int area() {
cout << "Parent class area :" <<endl;