C++中通过类的对象访问私有成员,编译时说是错误的,怎么回事??

#include<iostream.h>classA{doublex,y;public:A(doublexx=0,doubleyy=0){x=xx;y=yy;cout<<... #include<iostream.h>
class A
{
double x,y;
public:
A(double xx=0,double yy=0)
{
x=xx;
y=yy;
cout<<"构造函数被调用("<<x<<","<<y<<")"<<endl;
}
};
A f()
{
A a(1,2);
return a;
}
int main()
{
A a(4,5);
A b=a;
cout<<a.x<<endl;
return 0;
}
展开
 我来答
whj_njit
推荐于2016-05-29 · TA获得超过230个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:254万
展开全部
C++类本来就是保护私有成员的,不能直接通过对象去使用的,你需要通过使用一个公有函数接口去使用,如定义一个公有函数为 double GetX(){return x;}
wuiiao333
2015-06-08 · TA获得超过799个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:205万
展开全部
class A
{
double x,y; //类默认访问方式为私有,所以A类的x,y是在私有部分
//类的私有数据只能通过类的公有方法或者类友元函数访问

public:
A(double xx=0,double yy=0)
{
x=xx;
y=yy;
cout<<"构造函数被调用("<<x<<","<<y<<")"<<endl;
}
};
A f()
{
A a(1,2);
return a;
}
int main()
{
A a(4,5);
A b=a;
cout<<a.x<<endl; //类对象只能访问公有数据和方法。x在私有部分
return 0;
}
追问
谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happytooz
2015-06-08 · TA获得超过456个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:132万
展开全部
a 的x属性不是public属性,
class A
{
public:
double x,y;在此处加一个Public:即可解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hellfara
2015-06-08 · TA获得超过200个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:240万
展开全部
私有的当然不能访问……
要么声明为public,要么提供public方法来访问
double getx()
{
return x;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式