C++ 虚函数

来源:互联网 发布:淘宝卖家怎么查访客 编辑:程序博客网 时间:2024/05/19 02:18

#include <iostream>using namespace std;class A{public:    virtual void Print()    {cout << "A" << endl;}};class B : public A{public:    virtual void Print()    {cout << "B" << endl;}};class C : public B{public:    virtual void Print(){cout << "C" << endl;}};class D : public A{public:    virtual void Print(){cout << "D" << endl;}};int main(){A a;B b;C c;D d;A* pa=&a;B* pb=&b;C* pc=&c;D* pd=&d;    pa->Print(); // A    pa=pb;    pa->Print(); // Bpb->Print(); // Bpa=pc;    pa->Print(); // Cpc->Print(); // C    pa=pd;    pa->Print(); // Dpd->Print(); // Dreturn 0;}

虚函数用于实现多态,核心理念就是通过基类访问派生类定义的函数

由于编写代码的时候并不能确定被调用的是基类的函数还是哪个派生类的函数,所以被成为“虚”函数。

虚函数只能借助于指针或者引用来达到多态的效果。


0 0
原创粉丝点击