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 << &#