struct A
{
int a = 90, b= 87, c = 23;
};
struct A1 : public A
{
int a1 = a;
};
struct A2 : public A
{
int a2 = b;
};
struct A3 : public A
{
int a3 = c;
};
struct R : public A1, public A2, public A3
{
int r = a1 + a2 + a3;
};
这给了我完美的输出。但是,我想知道我们是否可以在派生结构中给a,b,c赋值。原因也是。谢谢! :)
答案 0 :(得分:0)
是的,除非基类将变量标记为私有,否则可以。但是在结构中,成员是公共的默认值(这也是为什么你可以在派生类中为成员分配基类的值)。
你问的原因可能是这个。如果答案"它们是公开的,则在结构中是默认的"目前尚不清楚可能存在对oop仿制药的更深层次的误解。