派生类 “a::a”: 无法访问 private 成员(在“a”类中声明) 5

//Note:YourchoiceisC++IDE#include<iostream>usingnamespacestd;classBasic{public:Basic(... // Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
class Basic{
public:
Basic(){cout<<"FUCK";}

Basic(int num){or=num;Or=num;}

void swin(){

cout<<"hello!"<<endl;
}
private:
bool or;

protected:
bool Or;
};
class a:public Basic
{
//a():Basic(5){}
a(){cout<<"hello";}
};
class a2:public a
{
public:
// a2(){cout<<"i am a2";}
};

int main()
{
a2 f;
return 0;
}
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
ant_elephant
2015-01-29 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3024
采纳率:94%
帮助的人:798万
展开全部
当然不行,如果是私有成员,只能是在自己的类中使用,子类是不能访问的;

如果该成员是protected属性,它的子类是可以访问的;
所以你的这个程序中,Basic的派生类只能访问Or不能访问or
追问
顺便问一下  实例是什么
追答
就是你用类名定义的具体对象
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物理公司的
2015-01-29 · TA获得超过5696个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1379万
展开全部
#include <iostream>
using namespace std;
class Basic{
public:
Basic(){cout<<"FUCK";}

Basic(int num){or=num;Or=num;}

void swin(){

cout<<"hello!"<<endl;
}
private:
bool or;

protected:
bool Or;
};
class a:public Basic
{
//a():Basic(5){}
//public:修改这里
a(){cout<<"hello";}
};

class a2:public a
{
public:
a2(){cout<<"i am a2";}
};

int main()
{
  a2 f;
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式