class grandfather
{
protected:
int test;
};
class father : grandfather
{
protected:
int foo;
};
class child : father
{
public:
void stuff();
};
void child::stuff()
{
test = 5;
while(test == 5)
{
foo++;
}
}
int main(void)
{
child childObj;
childObj.stuff();
return 0;
}
我只是好奇这是否是设计程序的安全方法。我的一位朋友表示,在父亲或祖父中初始化孩子,或在祖父中父亲,会导致某种溢出。
有人想给他们两分钱吗?
不包括while循环!
答案 0 :(得分:3)
这没有错(我的意思是,除了你的while
循环)。
你有一个带有父类的类,它本身有一个父类。没问题。
答案 1 :(得分:1)
您发布的代码非常好,而您的朋友错了 如果它是一个好的设计,在你告诉我们要求之前不能发表评论,除了语义之外,代码是正确的。
答案 2 :(得分:0)
这对我来说似乎是一种完全善用的继承。我不知道为什么你的朋友会反对它。