首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么通过子类的对象,来运行基类的virtual函数,怎么处理

2012-09-10 
如何通过子类的对象,来运行基类的virtual函数,怎么办?例如下面代码,创建一个B对象后,怎么通过B对象,运行基

如何通过子类的对象,来运行基类的virtual函数,怎么办?
例如下面代码,创建一个B对象后,怎么通过B对象,运行基类的func()?


B b;
此处怎么运行func()来输出Hello?

C/C++ code
Class A{   ……   virtual void func()   {       cout<<"Hello"<<endl;   };   ……}Class B:public A{   ……   virtual void func()   {       cout<<"World"<<endl;   };   ……}


[解决办法]
class A
{
public:
virtual void fun()
{
cout<<"A-->Hello"<<endl ;
}
};
class B:public A
{
public:
virtual void fun()
{
cout<<"B-->Hello"<<endl ;
}
};

void main()
{
B b ;
b.A::fun();
}
楼主为啥类后面没有“;” 反倒成员方法后面有“;”,这个能实现访问基类的。
[解决办法]
static_cast<A>(b).func();

热点排行