基本的なメンバーと関数を持つクラス A があります。
class A{
public:
typedef struct{
int aa;
int bb;
} stEntry;
stEntry entry;
void function1();
void function2();
};
構造stEntryを含むクラスAを拡張する必要があるクラスBより...
class B : public A{
public:
typedef struct :stEntry
{
int cc;
} stEntry;
stEntry entry;
void function3();
};
その後:
int main() {
A a;
B b;
a.entry.aa = 1;
b.entry.aa = 2;
b.entry.cc = 3;
cout << "class A:"<<sizeof(a)<< endl;
cout << "class B:"<<sizeof(b)<< endl;
return 0;
}
私は得る
class A:8
class B:20
したがって、クラス B には 2 つのインスタンス (8 バイト (A クラス メンバー) + 12 バイト (B クラス メンバー)) が含まれます。
クラス B の構造 stEntry を拡張する方法はありますか? (2つのインスタンスがない場合)