读书人

怎么通过子类的对象来运行基类的vir

发布时间: 2012-09-10 11:02:32 作者: rapoo

如何通过子类的对象,来运行基类的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();

读书人网 >C++

热点推荐