头歌C++(实验4)类的继承与派生
时间: 2024-05-10 16:14:57 浏览: 184
在C++中,类的继承是面向对象编程中的一种重要机制。继承可以让派生类继承基类的属性和方法,从而减少了代码的重复性,并且可以更好地组织代码。下面我来简单介绍一下类的继承和派生。
首先,定义一个基类。基类是一个通用的类,它可以被其他类继承。例如,我们可以定义一个Person类,它包含了姓名、年龄等属性和一些方法,如输出姓名、输出年龄等。
```c++
class Person
{
public:
Person(string name, int age);
void PrintName();
void PrintAge();
private:
string m_name;
int m_age;
};
```
接下来,我们定义一个派生类,让它继承Person类的属性和方法。例如,我们可以定义一个Student类,它继承了Person类的姓名和年龄属性,并且增加了学号属性和一些方法,如输出学号、输出成绩等。
```c++
class Student : public Person
{
public:
Student(string name, int age, int id);
void PrintId();
void PrintScore();
private:
int m_id;
int m_score;
};
```
在派生类中,使用public关键字来指定继承方式。这里使用的是public继承,表示继承的属性和方法在外部可以访问,并且可以在派生类中使用。
在这个例子中,Student类继承了Person类的属性和方法,包括姓名和年龄属性和输出姓名、输出年龄方法。Student类还增加了学号和成绩属性,并且增加了输出学号和输出成绩的方法。
在使用派生类时,可以使用基类的方法和属性,也可以使用派生类自己的方法和属性。例如,我们可以创建一个Person对象和一个Student对象,并且调用它们的方法。
```c++
Person person("Tom", 20);
Student student("Jerry", 21, 1001);
person.PrintName(); // 输出 "Tom"
person.PrintAge(); // 输出 20
student.PrintName(); // 输出 "Jerry"
student.PrintAge(); // 输出 21
student.PrintId(); // 输出 1001
```
在这个例子中,我们创建了一个Person对象和一个Student对象,并且调用它们的方法。由于Student类继承了Person类的属性和方法,所以我们可以通过Student对象来调用Person类的方法。同时,由于Student类增加了自己的方法和属性,我们也可以通过Student对象来调用Student类的方法。
阅读全文