Problem1605--六、父辈的旗帜【10分】

1605: 六、父辈的旗帜【10分】

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

小明的父亲是个汽车设计师,小明也是个汽车设计师,父子俩有很多共同话题。
一天,父亲设计了一个汽车的类CCar,这个类里有如下属性:
(1)string型的私有变量,表示汽车的型号
(2)double型的私有变量,表示汽车的排量
(3)具有默认的构造函数,型号为“红旗”,排量为2.0
(4)带string型和double型参数的构造函数,用于对型号和排量进行初始化
(5)返回值为string型的虚函数showinfo,用于打印汽车的信息


现在,小明想在父亲设计的汽车上进行升级,他设计了CSubCar类,继承了CCar类,并提供了额外的功能:
(1)增加了两个string型私有变量,表示汽车的外观颜色和内饰颜色
(2)增加了1个整形私有变量,表示汽车的油箱大小
(3)设计了带默认值参数的构造函数,对汽车的型号、排量、外观颜色、内饰颜色、汽车油箱大小进行初始化,默认外观是黑色,内饰是白色,油箱为60
(4)重写了showinfo,用于打印汽车的信息


请根据要求,在代码的指定位置完成上述功能

Input

请在指定位置增加代码




#include <iostream> 
#include <string>
 
using namespace std;

class CCar
{
private:
string type; //型号  
public:
CCar();
CCar(string);
virtual string showinfo();
};

/*---以下对 CCar进行实现 -----  */ 
 

/*---以上对 CCar进行实现 -----  */ 



class CSubCar:public CCar
{
private:
string outerColor; //外观颜色 
string innerColor; //内饰颜色 
public:
//参数对应:型号、外观颜色、内饰颜色 
CSubCar(string,string,string);
string showinfo();  
virtual ~CSubCar(){} 
};

/*---以下对 CSubCar进行实现 -----  */ 
 

/*---以上对 CSubCar进行实现 -----  */ 

int main(int argc, char** argv) {
 
int mode; //
string type; //型号
string innercolor; //外观颜色 
string outercolor; //内饰颜色

while(cin>>mode>>type>>innercolor>>outercolor)
{
if(mode==0)
{
CCar c1;
cout<<c1.showinfo()<<endl;
  }
  if(mode==1)
  {
  CCar c1(type);
  cout<<c1.showinfo()<<endl;
  }
  if(mode==2)
  {
  CSubCar c2;
  cout<<c2.showinfo()<<endl;
  }
  if(mode==3)
  {
  CSubCar c3(type,innercolor,outercolor);
  cout<<c3.showinfo()<<endl;
  }
  if(mode==4)
  {
  CCar* p = new CSubCar;
  cout<<p->showinfo()<<endl;
  delete p;
  }



return 0;
}

Output

根据样例的输入输出关系,实现相关函数。

Sample Input Copy

0 奥迪 黑色 黑色
1 比亚迪 白色 白色
2 东风 绿色 蓝色
3 东风 绿色 蓝色
4 东风 绿色 蓝色

Sample Output Copy

品牌:红旗
品牌:比亚迪
品牌:红旗,外观颜色:黑色,内饰颜色:白色
品牌:东风,外观颜色:绿色,内饰颜色:蓝色
品牌:红旗,外观颜色:黑色,内饰颜色:白色

Source/Category