您的位置:首页 > 其它

虚函数、继承需要注意的几点

2017-04-25 09:30 162 查看
#include <iostream>using namespace std;
class a{public : virtual void show() { cout<<"我是A类"; }
};class b:public a{public : void show() { cout<<"我是B类"; }
};int main(int argc,char* argv[]){
a* first=new b();first->show();delete first;return 0;
}//结果://当创建 a类型指针指向 新的a 或b对象,结局都为调用a对象(a类型或者说基类型指针可以指向自己也可以指向派生类,都调用了A类,也就是基类)//可以通过::所属关系来调用父类的被重载的函数例如  a* first=new b();first->a::show();//此时就会指向A类的方法,假若A中的SHOW方法是虚函数//当将父类中的需要被重载的函数前加virtual将其变成虚函数,则当a* first=new b();//first->show(); 指针指向派生类的时候调用的就会是B类,也就是派生类而不是基类.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: