#include <iostream>
using namespace std;
class A
{
private:
int a;
};
class B:public A
{
private:
int b;
};
int main()
{
cout<<sizeof(A)<<endl;
cout<<sizeof(B)<<endl;
return 0;
}
刚开始我一想子类继承父类不会继承父类的私有变量,如此我认为结果为4,4。而事实上结果是4,8。也就是说子类把父类的私有变量也继承下来了,但是却无法访问,对于我这种菜鸟来说一下子没法转个弯来,后来看看资料焕然大悟,子类虽然无法直接访问父类的私有变量,但是子类继承的父类的函数却可以访问,不然的话如果只继承函数而不继承变量,哪么父类的函数岂不成了无米之炊了。所以必须把父类的所有变量都继承下来,这样既能保护父类的变量也能使用父类的函数。