怎么通过子类的对象,来运行基类的virtual函数,怎么处理
如何通过子类的对象,来运行基类的virtual函数,怎么办?例如下面代码,创建一个B对象后,怎么通过B对象,运行基
如何通过子类的对象,来运行基类的virtual函数,怎么办?
例如下面代码,创建一个B对象后,怎么通过B对象,运行基类的func()?
B b;
此处怎么运行func()来输出Hello?
C/C++ codeClass 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();