C++构造函数无参数怎么给类的私有成员赋值
#include<iostream>usingnamespacestd;classPoint{public:Point(){};Point(Point&p);intget...
#include <iostream>using namespace std;class Point {public: Point() {}; Point(Point &p); int getX() { return x; } int getY() { return y; }private: int x,y;};Point::Point(Point &p){ x=p.x; y=p.y;}int main(){ Point a;return 0;}这个程序不在构造函数设形参,怎么给Point a的私有成员x,y赋值?
展开
2个回答
展开全部
因为在类内部,数据成员是可以无限制访问的
#include <iostream>
using namespace std;
class Point {
int x,y;
public:
Point(); //构造函数必须为公共成员
Point(const int &a,const int &b);//带参数的构造函数
Point(Point &p); //拷贝构造函数,参看拷贝构造内容
int getX()
{
return x;
}
int getY()
{
return y;
}
};
Point::Point() //构造函数必须为公共成员
{
x=0;
y=0;
}
Point::Point(const int &a,const int &b) //带参数的构造函数
{
x=a;
y=b;
}
Point(Point &p) //拷贝构造函数,用于拷贝初始化
{
x=p.x;
y=p.y;
}
int main()
{
Point a; //调用无参数构造函数
point b(5,7); //调用有参数构造函数
point c=b; //调用拷贝构造函数
return 0;
}
提问题的时候最好把代码格式化一下,这乱码基本没人看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询