#include <iostream>using namespace std;class A{public: virtual ~A() { } virtual void Func1() = 0;};//B类继承A类,class B : public A{public : ~B() { } void Func1() { printf("B class!\n"); }};//C类继承A类。class C : public A{public: ~C() { } void Func1() { printf("C class!\n"); } void xFunc1() { printf("C class!!!!\n"); }};int main(int argc, char** argv){ A* pb = new B; A* pc = new C; pb->Func1(); pc->Func1(); // 可以通过这种向下转型的方式,调用C中特有的成员函数 (dynamic_cast<C*>(pc))->xFunc1(); return 0;}
本文通过 C++ 代码示例介绍了多态的概念及应用。演示了如何使用虚函数实现运行时多态,并展示了基类指针指向派生类对象的场景下,如何调用特定的派生类成员函数。

1441

被折叠的 条评论
为什么被折叠?



