下面程序为什么会编译错误,并改正错误(提出解决办法)。

下面程序为什么会编译错误,并改正错误(提出解决办法)。

class window
{
protected:
int basedata;
};
class border: public window
{ };
class menu: public window
{ };
class border_and_menu: public border,public menu
{
public:int show()
{
return basedata;
}
答案
第1空:return basedata;//在border_and_menu中引用basedata时产生二义性,应使用虚基类 应改为:class border:virtual public window{ };class menu:virtual public window{ };

题目信息

题号:7587
题型:填空题
难度:普通