c++类中 对于私有数据成员,在main函数中是否可以直接为其赋值,如果直接赋值或输出会出现什么情况?

 我来答
jhx1008
2013-03-11 · TA获得超过617个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:327万
展开全部
不行,除非把main函数定义成类的友元
如果直接赋值或输出,编译无法通过,告诉你不能访问类的私有成员
arTouk
2013-03-11
知道答主
回答量:22
采纳率:0%
帮助的人:17.2万
展开全部
....不能直接赋值,只能调用public的成员函数来给其赋值,至于会出现什么情况,自己试试就知道了,记忆还来的深刻
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5722492f7
2013-03-11 · TA获得超过725个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:477万
展开全部
不能直接赋值,可以通过类的公共成员函数赋值。如果你这么做的话编译就出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
p471852239
2013-03-31 · TA获得超过617个赞
知道答主
回答量:15
采纳率:0%
帮助的人:13.1万
展开全部
如果在类中将数据定义为static
sample:
class a
{
public:
a(){}
void show();
private:
static int c;
int b;

}

int a::c=2;
void a::show()
{
b=b+b*c;
}

int main()
{
a a1();
a1.b();

return 0;
}

这样是可以赋值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞花的月
2013-03-11 · TA获得超过324个赞
知道答主
回答量:60
采纳率:0%
帮助的人:50.5万
展开全部
如果可以赋值,那么就不叫私有数据成员了,类的封装性也就不存在了,至于会出现什么情况,自己上机试一下印象更深刻
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式