C++中的继承
继承
继承是oop最重要的概念之一。
继承允许我们根据另一个类来定义一个类。 这有助于更轻松地创建和维护应用程序。
当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为(base)基类,新建的类称为(derived)派生类。
派生类继承了基类的所有特性,并且可以拥有自己的附加特性。
为了演示继承关系,我们通过创建一个Father类和Daughter类来进行演示。
class Father
{
public:
Father() {};
void sayHellow() {
cout << "hellow,Daughter ";
}
};
class Daughter
{
public:
Daughter() {};
};
Father类中有一个sayHellow()的公共方法.
实例中通过Father类派生出Daughter类。
class Daughter : public Father
{
public:
Daughter() {};
};
通过:(冒号)加上public(访问说明符)可以指定基类,public代表基类中的所有公共成员在派生类中同样也是公共的。
我们可以理解为,Father类中的所有公共成员都成为了Daughter类的公共成员。
由于Father类中的所有公共成员都被Daughter类继承了。我们可以创建一个Daughter类型的对象,并通过该对象调用Father类中的sayHellow()函数。
#include <iostream>
using namespace std;
class Father
{
public:
Father() {};
void sayHellow() {
cout << "hellow,Daughter";
}
};
class Daughter: public Father
{
public:
Daughter() {};
};
int main() {
Daughter d;
d.sayHellow();
}
//结果将会输出 "hellow,Daughter"
派生类继承了所有的基类方法,但有以下几个例外:
- 基类的构造函数、析构函数和拷贝构造函数。
- 基类的重载运算符。
- 基类的友元函数。
通过逗号进行分隔可以让派生类指定多个基类。例如 狗:public 哺乳动物,public 犬科动物
版权声明:
作者:RHZ
链接:https://www.rhzhz.cn/?p=963
来源:RHZ | 用文字记录工作和学习生活
文章版权归作者所有,未经允许请勿转载。
כנסו לאתר