我有具有基本成员和功能的 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 个实例)