C++开发必知:虚函数揭秘与多态性实例展示
在C++中,虚函数是一种特殊类型的成员函数,它允许派生类重写基类中的函数,同时保留函数名和参数列表。这种特性使得在运行时可以根据对象的实际类型来调用相应的函数,从而实现了多态性。 虚函数是在基类中声明为虚的,通常是通过在函数声明前添加关键字“virtual”来实现的。然后在派生类中,如果需要重写这个函数,也需要声明为虚函数。 以下是一个简单的例子: ```cpp class Base { public: virtual void print() { std::cout << "Base::print()" << std::endl; } }; class Derived : public Base { public: void print() override { std::cout << "Derived::print()" << std::endl; } }; int main() { Base* base = new Derived(); base->print(); // 输出 "Derived::print()" return 0; } ``` 在这个例子中,我们定义了一个基类Base和一个派生类Derived。Base类有一个虚函数print(),然后在Derived类中重写了这个函数。在main函数中,我们创建了一个Derived类型的对象,但是用Base类型的指针指向了它。当我们调用print()函数时,会根据对象的实际类型来调用相应的函数,因此输出的是"Derived::print()"。 ######[AI写代码神器 | 289点数解答 | 2023-11-09 00:36:17]
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)338
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)358
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- JavaScript开发必备:深入解析isNaN()函数及使用示例(阿里通义 | 217点数解答 | 2023-11-09 01:03:12)251
- JavaScript开发:手把手教你实现一个 call 函数!(阿里通义 | 361点数解答 | 2023-11-09 01:51:10)241
- JS开发:手把手教你实现一个简单的bind函数!(阿里通义 | 276点数解答 | 2023-11-09 01:51:16)272
- PHP开发必知:func_num_args()函数获取函数参数数量的用法及示例(百度文心 | 286点数解答 | 2023-11-09 17:57:51)201
- PHP 开发必知:strstr() 与 stristr() 函数的区别大揭秘!(百度文心 | 321点数解答 | 2023-11-09 17:58:04)207
- 神秘代码大揭秘:众多变量定义背后藏着什么秘密?(字节豆包 | 55点数解答 | 2024-08-16 15:22:27)332
- Python函数实现:轻松输出3个不同大小的菱形(百度文心 | 521点数解答 | 2024-09-30 00:48:00)243
- Python 函数实现:轻松输出 3 个精美菱形(字节豆包 | 192点数解答 | 2024-09-30 00:48:07)192
- C 语言:用函数轻松输出 3 个菱形,代码详解!(字节豆包 | 392点数解答 | 2024-09-30 00:49:09)153