裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。
时间: 2024-02-12 15:04:56 浏览: 303
c++例题关于基类与派生类
好的,可以的。以下是补充完整的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class People {
public:
string name;
int age;
virtual void showInfo() {
cout << "My name is " << name << ", and I am " << age << " years old." << endl;
}
};
class Student : public People {
public:
string id;
void showInfo() {
cout << "My name is " << name << ", and I am " << age << " years old." << endl;
cout << "My student id is " << id << "." << endl;
}
};
int main() {
People p;
p.name = "Tom";
p.age = 18;
p.showInfo();
Student s;
s.name = "Jerry";
s.age = 20;
s.id = "20210001";
s.showInfo();
return 0;
}
```
补充完整后,该代码可以正常运行。其中,基类People定义了两个成员变量name和age,以及一个showInfo()虚函数,该函数用于输出People对象的信息;派生类Student继承了People类,并新增了一个成员变量id,同时重写了showInfo()函数,以输出Student对象的信息。在主函数中,分别创建了一个People对象p和一个Student对象s,并分别对其进行了初始化,并调用了它们的showInfo()函数,以展示其信息。
阅读全文