我的小例子: #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; }
C++中的虚函数和多态的关系
最新推荐文章于 2024-07-14 13:40:19 发布