定义商品类(goods),成员包括商品号、商品名,成员函数包括构造函数,包括两个参数分别对成员进行赋值,display()用于显示成员的值。定义商品类的子类食品类(foods),成员包括商品号、商品名、保质期(天数days),重写display()函数显示其所有成员值。 主函数如下: int main() { string ID; string name; int days; cin>>ID>>name; class goods goods1(ID,name); cin>>ID>>name>>days; class foods foods1(ID,name,days); goods1.display(); cout<<endl; foods1.display(); cout<<endl; return 0; }
时间: 2024-01-22 08:03:27 浏览: 96
好的,这是一个关于C++面向对象编程的问题。下面是代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
class goods {
private:
string ID;
string name;
public:
goods(string id, string n) {
ID = id;
name = n;
}
void display() {
cout << "商品号:" << ID << endl;
cout << "商品名:" << name << endl;
}
};
class foods : public goods {
private:
int days;
public:
foods(string id, string n, int d) : goods(id, n) {
days = d;
}
void display() {
goods::display();
cout << "保质期:" << days << " 天" << endl;
}
};
int main() {
string ID;
string name;
int days;
cin >> ID >> name;
goods goods1(ID, name);
cin >> ID >> name >> days;
foods foods1(ID, name, days);
goods1.display();
cout << endl;
foods1.display();
cout << endl;
return 0;
}
```
在这个程序中,先定义了一个基类 `goods`,它有两个私有成员 `ID` 和 `name`,以及一个公有构造函数和一个公有 display 函数。接着定义了一个子类 `foods`,它继承了 `goods`,并增加了一个私有成员 `days`,以及一个公有构造函数和一个公有 display 函数,重写了 `display` 函数以显示所有成员的值。
在主函数中,先输入 `goods` 的两个成员 `ID` 和 `name`,构造一个 `goods` 对象 `goods1`,然后输入 `foods` 的三个成员 `ID`、`name` 和 `days`,构造一个 `foods` 对象 `foods1`。最后分别调用 `goods1.display()` 和 `foods1.display()` 函数,显示它们的成员值。
阅读全文