继承
继承是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 犬科动物
文章评论
Everything is very open with a really clear clarification of the challenges. It was really informative. Your website is extremely helpful. Thank you for sharing!
אני מאוד ממליץ על אתר הזה כנסו עכשיו ותהנו ממגוון רחב של בחורות ברמה מאוד גבוהה. רק באתר ישראל נייט לאדי <a href="https://romantik69.co.il/">נערות ליווי</a>