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

如题所述

不行,除非把main函数定义成类的友元
如果直接赋值或输出,编译无法通过,告诉你不能访问类的私有成员
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-11
....不能直接赋值,只能调用public的成员函数来给其赋值,至于会出现什么情况,自己试试就知道了,记忆还来的深刻
第2个回答  2013-03-11
不能直接赋值,可以通过类的公共成员函数赋值。如果你这么做的话编译就出错了。
第3个回答  2013-03-31
如果在类中将数据定义为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;
}

这样是可以赋值的
第4个回答  2013-03-11
如果可以赋值,那么就不叫私有数据成员了,类的封装性也就不存在了,至于会出现什么情况,自己上机试一下印象更深刻
相似回答