C++继承和派生练习(一)--关于从people(人员)类派生出student(学生)类等
时间: 2023-11-21 16:05:14 浏览: 142
好的,让我们开始吧。
首先,我们需要定义一个人员类,它将具有基本的属性和方法,例如姓名、年龄和性别等信息。
```c++
class People{
protected:
string name;
int age;
char gender;
public:
People(string n, int a, char g):name(n), age(a), gender(g){}
void display(){
cout<<"Name: "<<name<<endl;
cout<<"Age: "<<age<<endl;
cout<<"Gender: "<<gender<<endl;
}
};
```
在这个类中,我们定义了三个属性:姓名、年龄和性别,以及一个构造函数和一个显示函数。
接下来,我们需要从人员类中派生出一个学生类,它将继承人员类的属性和方法,并添加一些新的属性和方法,例如学号和成绩等信息。
```c++
class Student:public People{
private:
int student_id;
float score;
public:
Student(string n, int a, char g, int id, float s):People(n, a, g), student_id(id), score(s){}
void display(){
People::display();
cout<<"Student ID: "<<student_id<<endl;
cout<<"Score: "<<score<<endl;
}
};
```
在这个类中,我们定义了两个新的属性:学号和成绩,以及一个构造函数和一个显示函数。请注意,我们使用了“public”关键字来表示学生类从人员类中继承了公共属性和方法。
现在,我们可以使用这些类来创建人员和学生对象,然后调用它们的方法来显示它们的属性。
```c++
int main(){
People p("Tom", 20, 'M');
p.display();
cout<<endl;
Student s("Jack", 18, 'M', 10001, 95.5);
s.display();
return 0;
}
```
输出:
```
Name: Tom
Age: 20
Gender: M
Name: Jack
Age: 18
Gender: M
Student ID: 10001
Score: 95.5
```
希望这个练习可以帮助你更好地理解C++的继承和派生机制。
阅读全文