首页 新闻 会员 周边

一道c++找错题 找出下述程序的错误,并说明原因

0
悬赏园豆:10 [待解决问题]

找出下述程序的错误,并说明原因

class X{
    int a;
public:
    int func(void){
        return a++;
    }
};

class Y : public X{
  public:
     void set (int c){
         this->a = c;
     }
     int describe() const{
         return func();
     }
};
msober的主页 msober | 初学一级 | 园豆:192
提问于:2013-03-07 09:08
< >
分享
所有回答(9)
2

 error: `int X::a' is private

父类的私有成员无法访问

findingsea | 园豆:141 (初学一级) | 2013-03-07 11:13
0

是的,楼上说的对

RainyStray | 园豆:202 (菜鸟二级) | 2013-03-09 18:27
2

describe是const函数,不能访问非const成员函数

KallMeNeo | 园豆:247 (菜鸟二级) | 2013-03-16 11:35
0

被你们说完了

会飞的机器猫 | 园豆:86 (初学一级) | 2013-03-26 00:13
0

楼上正解

xgdgxb | 园豆:202 (菜鸟二级) | 2014-03-02 17:13
0

void set (int c){ this->a = c; }这个函数有问题,没办法访问a

hailong | 园豆:70 (初学一级) | 2014-07-12 14:47
0

function "describe" is const,can't visit non-const function.

sandwidch | 园豆:204 (菜鸟二级) | 2014-08-18 22:26
0

1、 a是私有数据成员;

2、const成员函数不能调用非const成员。

 

接分

黑桃七 | 园豆:268 (菜鸟二级) | 2015-09-28 21:00
0

首先a是私有变量(默认情况下),所以子类不能够直接访问。

其次是const成员函数不能够调用非const成员。

fcyh | 园豆:568 (小虾三级) | 2017-04-04 12:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册