关于子类调用父类的虚函数(protected:)的有关问题
关于子类调用父类的虚函数(protected:)的问题?
我有一个类,例如:
class base
{
virtual void onPress();//写一个响应键盘的函数
}
class subclass : public base
{
virtual void onPress()
}
void subclass::onpPress()
{
if()
{}//写一个判断的过程,比方说,输入是“1”,就调用这个过程,
else return (base*)this->onPress //返回父类的虚函数,将this指针转化
想法大概就是这样,但编译不起来啊,我的环境是eclipse cdt。求救。
分不多,学习交流为主,谢谢大家。
------解决方案--------------------
::
直接使用域操作符 ::onPress()
------解决方案--------------------
是要这样的效果吗?没完全明白你的意思
我有一个类,例如:
class base
{
virtual void onPress();//写一个响应键盘的函数
}
class subclass : public base
{
virtual void onPress()
}
void subclass::onpPress()
{
if()
{}//写一个判断的过程,比方说,输入是“1”,就调用这个过程,
else return (base*)this->onPress //返回父类的虚函数,将this指针转化
想法大概就是这样,但编译不起来啊,我的环境是eclipse cdt。求救。
分不多,学习交流为主,谢谢大家。
------解决方案--------------------
::
直接使用域操作符 ::onPress()
------解决方案--------------------
是要这样的效果吗?没完全明白你的意思
- C/C++ code
#include <iostream> using namespace std; class base { public: virtual void onPress() { cout<<"Base onPress()"<<endl; } }; class subclass : public base { public: virtual void onPress(); }; void subclass::onPress() { int i; cin>>i; if (i == 1) { base::onPress(); } else { cout<<"Subclass onPress()"<<endl; } } int main() { subclass sc; sc.onPress(); return 0; }
------解决方案--------------------
子类访问父类的东东,就用这 ::
没问题,没啥好解释的,就当龟腚好了
------解决方案--------------------
- C/C++ code
void subclass::onPress() { int i; cin>>i; //提示用户输入 if (i == 1) //如果为1 { base::onPress(); //调用基类的虚函数 } else //如果不为1,调用子类的虚函数 { cout<<"Subclass onPress()"<<endl; } }