C++多态性是面向对象编程的一个重要特性,允许对象以多种形式存在。多态性可以通过继承和虚函数来实现。下面详细介绍C++中的多态性:
1. 基础概念
静态多态性(编译时多态性)
静态多态性通过函数重载和运算符重载实现,编译时决定调用哪个函数。
#include <iostream> using namespace std; class Print { public: void show(int i) { cout << "Integer: " << i << endl; } void show(double f) { cout << "Float: " << f << endl; } }; int main() { Print obj; obj.show(5); obj.show(5.5); return 0; }
动态多态性(运行时多态性)
动态多态性通过继承和虚函数实现,运行时决定调用哪个函数。
2. 虚函数和继承
基类和派生类
基类定义了虚函数,派生类重写该虚函数。
#include <iostream> using namespace std; class Base { public: virtual void show() { cout << "Base class" << endl; } }; class Derived : public Base { public: void show() override { cout << &#