您的位置:首页 > 其它

[基础] 虚函数

2016-03-11 17:33 169 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: