// inheritence experiment
#include"stdafx.h"
#include<iostream>
using namespace std;
class base
{
private:
int i;
};
class derived: public base
{
private:
int j;
};
int main()
{
cout << endl << sizeof(derived) << endl << sizeof(base);
derived o1;
base o2;
cout << endl << sizeof(o1) << endl << sizeof(o2);
}
私はこの出力を得ています:
8
4
8
4
なんでそうなの?基本クラスのプライベートデータメンバーは派生クラスに継承されないので、派生クラスとo1の両方のサイズで8バイトを取得するのはなぜですか?