C++中的虚函数和多态的关系

来源:互联网 发布:linux 文件夹覆盖 编辑:程序博客网 时间:2024/05/06 13:27
我的小例子:#include using namespace std;class A{private: int numA;public: A(); virtual void prt(); //看到virtual function就要想到要使用多态机制了!};A::A(){ cout << "Construct in A" << endl;}void A::prt(){ //virtual function在定义体的外部实现的时候,不要加virtual关键字 cout << "prt in A" << endl;}class B : public A{private: int numB;public: B(); void prt();};B::B() : A(){ cout << "Construct in B" << endl;}void B::prt(){ cout << "prt in B" << endl;}int main(){ A *arryA = new A(); A *arryB = new B(); arryA->prt(); arryB->prt(); //使用多态机制 arryB->A::prt(); //不使用多态机制 delete arryA; delete arryB; return 0;}