1477: 多重继承派生(1)--家具、床、沙发和沙发床
Description
家具类Furniture包含3个私有成员数据:家具类型(string type),家具主材料(string mat)和家具价格(int price)。成员函数包括构造函数(家具类型默认为unknown),三个获取私有成员数据的函数(GetType,GetMat,GetPrice)和输出家具类各成员数据函数show(输出格式详见Sample Output)。
床类Bed由Furniture类公有派生而来,包含1个私有成员数据:床类型(string bedtype)。成员函数包括构造函数(家具类型默认为“床”),获取私有成员数据床类型的函数GetBedType和输出床的各成员数据值的函数Show(输出格式详见Sample Output)。
沙发类Sofa由Furniture类公有派生而来,包含1个私有成员数据:座位数(int seats)。成员函数包括构造函数(家具类型默认为“沙发”),获取私有成员数据座位数的函数GetSeats和输出沙发的各成员数据值的函数Show(输出格式详见Sample Output)。
沙发床类SofaBed由Sofa类和Bed类公有派生,包含2个成员函数:构造函数(家具类型默认为“沙发床”),输出沙发床的各成员数据值的函数Show(输出格式详见Sample Output)。
完成上述各类的设计。main函数已给定(如下所示),提交时只需要提交main函数外的代码部分。
int main()
{
string mat,bedtype;
int price,seats,cas=0;
while(cin>>mat>>price>>bedtype>>seats)
{
cas++;
cout<<"Case #"<<cas<<":"<<endl;
Furniture furniture(mat,price);
Bed bed(bedtype,mat,price);
Sofa sofa(seats,mat,price)