读书人

关于子类调用父类的虚函数(protected

发布时间: 2012-09-14 11:53:44 作者: rapoo

关于子类调用父类的虚函数(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()
[解决办法]
是要这样的效果吗?没完全明白你的意思

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;    }} 

读书人网 >C++

热点推荐