用Person类派生出Student类,增加属性学号index和年级level。Person类中至少有姓名name、年龄age等数据成员,以及构造函数、输出函数等,其余成员函数根据需要添加。在主函数中进行测试。
时间: 2024-03-26 10:42:29 浏览: 79
好的,我可以为你解答这个问题。这是一个面向对象编程的问题,需要用到类的继承和派生。下面是代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
string name;
int age;
Person(string _name, int _age) {
name = _name;
age = _age;
}
void print() {
cout << "name: " << name << ", age: " << age << endl;
}
};
class Student : public Person {
public:
int index;
int level;
Student(string _name, int _age, int _index, int _level) : Person(_name, _age) {
index = _index;
level = _level;
}
void print() {
cout << "name: " << name << ", age: " << age << ", index: " << index << ", level: " << level << endl;
}
};
int main() {
Person p("张三", 20);
p.print();
Student s("李四", 18, 1001, 1);
s.print();
return 0;
}
```
在这个示例中,我们定义了一个Person类,包含姓名和年龄两个数据成员以及构造函数和输出函数。然后我们用Student类继承自Person类,增加了学号和年级两个数据成员,并且在构造函数中调用了Person类的构造函数。在输出函数中,我们打印了所有的数据成员。
在主函数中,我们分别创建了一个Person对象和一个Student对象,并且分别调用它们的输出函数。可以看到,Student对象包含了Person对象的所有数据成员,还增加了学号和年级两个数据成员。
阅读全文