C++多态机制:
1)参数多态:模板
2)强制多态:类型强制转换
3)重载多态:函数重载,操作符重载
4)包含多态:子类型的虚函数
C++中采用虚拟函数实现包含多态,虚拟函数为C++提供了更为灵活的多态机制,这种多态性在程序运行时才能确定,因此虚拟函数是多态性的精华,至少含有一个虚拟函数的类称为多态类。包含多态在程序设计中使用十分频繁。
举一个自己写的例子,包含着各种多态:
#include <iostream> using namespace std; template <class T> class Base { public: Base(){d=0;p=NULL;} Base(int a,T* q){d=a;p=q;} T *operator ++() {d=d+1;p++;return p;} virtual void display() { cout<<"Base";return;}; private: double d; T *p; }; class Child:public Base<int> { public: void display() {cout<<"Child";return;} };