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;
} 展开
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;
} 展开
4个回答
展开全部
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;
}
{
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;
}
追问
谢啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a 的x属性不是public属性,
class A
{
public:
double x,y;在此处加一个Public:即可解决
class A
{
public:
double x,y;在此处加一个Public:即可解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
私有的当然不能访问……
要么声明为public,要么提供public方法来访问
double getx()
{
return x;
}
要么声明为public,要么提供public方法来访问
double getx()
{
return x;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询