小工具知识网

当前位置: 首页 > 行业知识 > [c++] 继承和多态整理二

行业知识

[c++] 继承和多态整理二

2026-11-03 13:29:43 来源:互联网转载

1 虚函数和纯虚函数

虚���数,之所以说是虚的,说的是在派生类中,可以覆盖基类中的虚函数;相对于虚函数来说,没有 virtual 修饰的函数可以叫做实函数,实函数就不能被覆盖。虚函数是实现多态的核心。虚函数和纯虚函数比较的话,虚函数可以在派生类中被覆盖,但是虚函数也是有自己的实现的,可以被直接调用;纯虚函数没有自己的实现,在派生类中可以被覆盖,并且必须实现。包含纯虚函数的类是抽象类,不能创建对象,如果抽象类的派生类中没有实现纯虚函数 ,那么派生类也是抽象类,不能创建对象。

虚函数和纯虚函数并没有严格的优劣之分。

从实际使用中,纯虚函数有一个优点,假如一个基类中的函数,派生类中必须实现自己的逻辑,而不能使用基类中的逻辑,那么就可以使用纯虚函数,这样在派生类中如果忘记实现了,那么编译器就会提示错误,起到了一个约束的作用;如果用虚函数实现,那么派生类中忘记实现的话,编译器也不会报错,起不到约束提醒的作用。

纯虚函数有以下两点:

(1)纯虚函数的声明方式

函数声明之后加 = 0,而不是花括号

(2)抽象类不能创建对象,抽象类的派生类如果没有实现所有的纯虚函数,派生类也是抽象类

(3)抽象类可以定义指针,并且可以使用派生类的指针给它赋值

如下是使用抽象类的一个例子:

#include #include class Phone {public:  Phone() {    std::cout 

上一篇:收钱快报怎么修改服务器?

下一篇:Django Web:搭建Websocket服务器(入门篇)