1、单继承
class Base
{
public:
Base()
{
cout << "Base()" << this << endl;
}
void FunTest1()
{
cout << "Base::FunTest1()" << endl;
}
void FunTest2()
{
cout << "Base::FunTest2()" << endl;
}
~Base()
{
cout << "~Base()" << endl;
}
int _data1;
};
class Derive :public Base
{
public:
void FunTest3()
{
cout << "Derive::FunTest3()" << endl;
}
int _data2;
};
int main()
{
Base b;
b.FunTest1();
b.FunTest2();
b._data1 = 0x04;
Derive d;
d.FunTest1();
d.FunTest2();
d.FunTest3();
d._data1 = 0x01;
d._data2 = 0x02;
return 0;
}
——b对象和d对象的对象模型
main 函数的反汇编
派生类的构造函数:
程序运行结果:
构造函数:
基类构造函数:Base( )884 ->派生类构造函数: Base( )874 ->Derive( )874
析构函数:
派生类的析构函数:~Derive( )874 -> ~Base( )874->基类的析构函数:~Base( )884