【C++继承题目】商品类
Description
定义商品类(goods),成员包括商品号,商品名. 成员函数包括构造函数,包括两个参数分别对成员进行赋值,display()用于显示成员的值.
定义商品类的子类食品类(foods),成员包括商品号,商品名,保质期(天数days),重写display()函数显示其所有成员值.
主函数如下:
int main()
{
int ID;
string name;
int days;
cin>>ID>>name;
class goods goods1(ID,name);
goods1.display();
cout<<endl;
cin>>ID>>name>>days;
class foods foods1(ID,name,days);
foods1.display();
cout<<endl;
return 0;
}
Input
录入商品对象的商品号,商品名
录入食品类的商品号,商品名,保质期
Output
输出商品对象的信息
输出食品对象的信息
Sample Input
1 clothes
2 bread 10
Sample Output
goodsID=1 goodsName=clothes
goodsID=2 goodsName=bread days=10
题解
1 #include<iostream> 2 using namespace std; 3 class goods 4 { 5 public: 6 goods(int id,string na):ID(id),name(na){} 7 void display(); 8 protected: 9 int ID; 10 string name; 11 }; 12 class foods:public goods 13 { 14 public: 15 foods(int i,string n,int d):goods(i,n),days(d){}//在这调用基类的构造函数 16 void display(); 17 private: 18 int days; 19 }; 20 int main() 21 { 22 int ID; 23 string name; 24 int days; 25 cin>>ID>>name; 26 class goods goods1(ID,name); 27 goods1.display(); 28 cout<<endl; 29 cin>>ID>>name>>days; 30 class foods foods1(ID,name,days); 31 foods1.display(); 32 cout<<endl; 33 return 0; 34 } 35 void goods::display() 36 { 37 cout<<"goodsID="<<ID<<" "<<"goodsName="<<name<<endl; 38 } 39 void foods::display() 40 { 41 cout<<"foodsID="<<ID<<" "<<"goodsName="<<name<<" days="<<days<<endl; 42 }