继承中的构造和析构顺序: 先构造父类再构造子类,析构先析构子类再析构父类。
关于继承的子类所占的内存空间,可以通过本程序验证,代码如下:
#include<iostream>
using namespace std;
class parents
{
public:
int m_a;
protected:
int m_b;
private:
int m_c;
};
class son :public parents
{
public:
int m_d;
};
//利用开发人员命令提示工具查看对象模型的结构
//跳转到具体路径下,查看命名
//c1 /dl reportSingleClassLayout类名 文件名
void test01()
{
//在父类中所有的属性都会被子类继承下去,父类中私有的成员属性被编译器隐藏了,访问不到。
cout << "size of son:" << sizeof(son) << endl;//16
}
int main()
{
test01();
system("pause");
return 0;
}
同样也可以通过VS中自带的命令提示符来查看类的结构:
进入目录:
使用://c1 /dl reportSingleClassLayout类名 文件名