问答题
使用VC6打开考生文件夹下的工程MyProj6。此工程包含一个源程序文件MyMain6.cpp。在程序中,定义了一个Furniture类,Bed类和Sofa类是在Furniture类的基础上按公有继承的方式产生的派生类,Sleepersofa类是在Bed类和Sofa类的基础上按公有继承的方式产生的派生类。
请按要求完成下列操作,将类Date的定义补充完成:
①Bed类是在Furniture类的基础上按公有继承的方式产生的派生类,为了使程序中的多重继承关系不出现二义性。请在注释“//**1**”之后添加适当的语句。
②Sofa类是在Furniture类的基础上按公有继承的方式产生的派生类,为了使程序中的多重继承关系不出现二义性。请在注释“//**2**”之后添加适当的语句。
③Sleepersofa类是在Bed类和Sofa类的基础上按公有继承的方式产生的派生类。请在注释“//**3**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain6.cpp清单如下;
//MyMain6.cpp
#include<iostream>
using namespace std;
class Furniture
{
public:
Furniture(){}
void setweight(int w)
{
weight=w;
}
int getweight()
{
return weight;
}
protected:
int weight;
};
//* *1 * * class Bed definition
{
public:
Bed(){}
void sleep()
{
cout<<"sleeping..."<<end1;
}
};
//* *2* * class Sofa definition
{
public:
Sofa(){}
void watchTV()
{
cout<<"watching TV..."<<end1;
}
};
//* * * 3 * * *
{
public:
Sleepersofa(){}
void Foldout()
{
cout<<"Fold out the sofa".<<endl;
};
int main()
{
Sleepersofa ss;
ss.setweight(20);
cout<<ss.getweight()<<end1;
return 0;
}
【参考答案】
① class Bed: virtual public Furniture ② class Sofa: virtual ......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)