首页 > 其他 > 详细

[基础] 虚函数

时间:2016-03-11 18:39:09      阅读:245      评论:0      收藏:0      [点我收藏+]

1. 虚函数会导致的结果:直接上个经典例子...

class A {
public:
    void a() {
        cout<<"A.a"<<endl;
    }
    virtual void b() {
        cout<<"A.b"<<endl;
    }
};
class B: public A {
public:
    void a() {
        cout<<"B.a"<<endl;
    }
    void b() {
        cout<<"B.b"<<endl;
    }
};
int main(int argc, const char * argv[]) {
    A *a1 = new A();
    B *b = new B();
    A *a2 = new B();
    a1->a(); // A.a
    a1->b(); // A.b
    b->a(); // B.a
    b->b(); // B.b
    a2->a(); //A.a 非虚函数,根据基类
    a2->b(); //B.a 虚函数,根据子类
    return 1;
}

2. 机制解释

XXX

[基础] 虚函数

原文:http://www.cnblogs.com/littletail/p/5266588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!