C++ 继承 - 实现代码复用和代码继承
在 C++ 中,继承是一种重要的机制,它可以帮助程序员实现代码的复用和代码的继承。本文将介绍 C++ 继承的基础知识、优点、应用以及如何实现代码的继承。
一、继承的基础知识
在 C++ 中,继承是通过关键字 using
(使用)实现的。using
关键字告诉编译器当前文件中定义的类名,将后续定义的类都继承自该类。
例如,在当前文件中定义了一个名为 Animal
的类,并在该类中定义了一个名为 makeSound
的函数:
class Animal {
public:
void makeSound() {
std::cout << "Animal sound" << std::endl;
}
};
然后在另一个文件中,定义了一个名为 Dog
的类,并继承自 Animal
类:
#include <iostream>
using namespace std;
class Dog : public Animal {
public:
void makeSound() {
std::cout << "Woof" << std::endl;
}
};
在 Dog
类中,makeSound
函数重写了 Animal
类中的 makeSound
函数,并添加了一个新的函数 makeSound
。
二、继承的优点
- 代码复用:通过继承,可以避免重复编写代码。例如,在上面的
Animal
和Dog
类中,定义了一个共同的函数makeSound
,并在两个类中都继承自该函数。 - 代码继承:通过继承,可以实现代码的继承。例如,
Animal
类可以继承自AnimalSingleton
类,从而实现Animal
类的单例模式。
三、继承的应用
- 编写单例模式:通过继承,可以实现单例模式,保证一个类只有一个实例。例如,
Animal
和Dog
类可以继承自AnimalSingleton
类,从而实现Animal
类的单例模式。 - 实现多态:通过继承,可以实现多态,提高程序的灵活性。例如,
Animal
和Dog
类可以继承自AnimalCommon
类,并在两个类中都实现了一个makeSound
函数,从而实现多态。
四、如何实现代码的继承
要实现代码的继承,需要满足以下几个条件:
- 定义一个基类(也称为父类或模板类),并在其中定义一个或多个成员函数和成员变量。
- 在另一个类中声明一个派生函数(也称为子类或派生类)。
- 在派生类中,使用关键字
using
(使用)调用基类中的成员函数和成员变量。 - 在派生类中,添加自己的成员函数和成员变量。
下面是一个简单的示例,演示了如何实现 C++ 继承:
#include <iostream>
using namespace std;
class Animal {
public:
void makeSound() {
std::cout << "Animal sound" << std::endl;
}
};
class Dog : public Animal {
public:
void makeSound() {
std::cout << "Woof" << std::endl;
}
};
int main() {
Animal* animal = new Dog();
animal->makeSound(); // 调用 Dog 类中的 makeSound 函数
delete animal;
return 0;
}
在上面的代码中,Animal
类定义了一个名为 makeSound
的函数。Dog
类继承自 Animal
类,并在其中重写了 makeSound
函数。在 main
函数中,创建了一个 Dog
类的对象,并调用该对象的 makeSound
函数。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦