定义一个基类Person,数据成员包含姓名,性别,年龄。成员构造函数用于初始化数据成员、成员函数Print()用于输出信息。从Person类公有派生出Student类,增加整型数据成员number用于保存学号,定义构造函数初始化数据成员、成员函数PrintInfo()用于输出学生信息。在主函数中完成测试。
时间: 2024-03-19 18:44:29 浏览: 19
好的,我了解您的需求,根据您的需求,我给您提供如下的代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
Person(string name, string gender, int age) : m_name(name), m_gender(gender), m_age(age) {}
void Print() const { cout << "姓名:" << m_name << ",性别:" << m_gender << ",年龄:" << m_age << endl; }
protected:
string m_name;
string m_gender;
int m_age;
};
class Student : public Person {
public:
Student(string name, string gender, int age, int number) : Person(name, gender, age), m_number(number) {}
void PrintInfo() const { cout << "学号:" << m_number << ","; Print(); }
private:
int m_number;
};
int main() {
Student s("张三", "男", 20, 1001);
s.PrintInfo();
return 0;
}
```
在上面的代码中,我们定义了一个名为Person的基类,该类包含姓名、性别和年龄三个数据成员,还包含一个构造函数用于初始化数据成员,以及一个Print函数用于输出信息。在构造函数中,我们初始化了姓名、性别和年龄的值。
接下来,我们从Person类公有派生出Student类,增加了一个整型数据成员number用于保存学号,并且定义了一个构造函数用于初始化数据成员,还定义了一个PrintInfo函数用于在控制台输出学生信息,其中调用了基类的Print函数进行信息的输出。
在主函数中,我们创建了一个Student对象,并调用其PrintInfo函数进行学生信息的输出。
希望这个代码能够帮助到您,如果您还有其他问题,请随时问我。