C++公有继承,子类访问父类成员问题

classA{protected:intx;public:voidset(inti){x=i;}voidget(){terurnx;}};classB:publicA{i... class A{
protected: int x;
public: void set(int i){x=i;}
        void get(){terurn x;}
};
class B:public A
{int y;}
class C:protected B{......}

为什么C类对象不能用get函数访问父类数据X
谢谢
展开
 我来答
兔子和小强
推荐于2016-05-09 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1431万
展开全部

可以在C中通过get访问父类x。只是你的示例代码有好几个语法错误。

class A{
protected:
int x;
public:
void set(int i){
x = i;
}
int get(){ // 返回值类型为int
return x;
}
};

class B: public A{
int y;
}; //要加分号

class C: protected B{
public:
void set(int x){
B::set(x);
}
int get(){
return B::get();
}
}; //要加分号

int main(){
C c;
c.set(123);
cout << c.get();
}
追问
哦,我这个是试题,但答案说不可以
追答
你确定你写在这里的题目跟试题是一样的。
你贴出的代码语法错误就很多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式