关于c++中的这个指针



我正在学习c++中的这个指针,它包含类对象的地址。但是我理解我的代码有问题。

#include<bits/stdc++.h>
using namespace std;
class Point
{
private:
int x,y;
public:
Point(int x, int y)
{
this->x = x;
this->y = y;
}

Point setX(int x)
{
this->x = x;
return *this;
}
Point setY(int y)
{
this->y = y;
return *this;
}
int getX()
{
return x;
}
int getY()
{
return y;
}
};
int main()
{
Point p(10,20);
cout<<p.getX()<<" "<<p.getY()<<endl;
cout<< p.setX(1000).getX();
return 0;
}

我从setX返回指针对象。p. setx将首先修改x的值,然后返回object(p)的副本。既然这是一个副本,那么为什么我的答案是p.setX(1000).getx()中的1000。因为setX会修改原对象p中x的值。

我从setX返回指针对象

不,你不是。您正在返回类Point的实例。

为什么我的答案是1000

因为返回一个成员值为1000的对象的副本。

最新更新