C++使用带参构造函数初始化对象问题,求问! 10

#include<iostream>usingnamespacestd;classPoint{public:Point(){x=0;y=0;cout<<"Defaultc... # include <iostream>
using namespace std;
class Point
{
public:
Point()
{
x = 0;
y = 0;
cout << "Default constructor called" << endl;
}
Point(int newX, int newY)
{
x = newX;
y = newY;
cout << "Constructor called" << endl;
}
~Point()
{
cout << "Destructor called" << endl;
}
int GetX()
{
return x;
}
int GetY()
{
return y;
}
void Move(int newX, int newY);
private:
int x,y;
};
void Point::Move(int newX,int newY)
{
cout << "Moving the point to (" << newX << "." << newY << ")" << endl;
x = newX;
y = newY;
}
void main()
{
Point pointArray[4] = { Point(1, 1),Point(2, 2)}; //意义?????
for(int i = 0; i < 4; i++)
{
pointArray[i].Move(i + 10, i + 20);
}
system("pause");
}
倒数第七行中用Point给数组赋值的意义是?如果将其删去,程序不会出错且结果不变= =,拜谢!
展开
 我来答
heptnaol
2016-08-12 · TA获得超过7262个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1816万
展开全部
对于你的Move函数,不会有问题
假设有以下函数
void Point::MoveBy(int dx,int dy)

{
x += dx;

y += dy;
}
那有没有倒数第七行,结果就不一样了。
PS,严格点说,你的Move应该叫MoveTo
追问

感谢!并且抱歉,我没有说清楚。

始终不变的是后四行,前面的会随元素的变化而变化。我想问的是,pointArrary数组中元素Point(1, 1)和Point(2, 2)在后面for中起到什么作用?感谢!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式