设计一个类CPt,该类有两个数据成员x,y还有一个对象备份函数copy,copy功能如下:如果定义类A对象a1,a2,调用函数a1.copy(&a2)表示将对象a2的x,y赋值给对象a1的x,y(提示用this判断是否给自己赋值)
时间: 2023-04-02 09:04:43 浏览: 187
CPT:phpBB,WordPress和您的自定义网站,合并在一个平台中!
好的,这是一个关于设计类的问题。CPt类有两个数据成员x和y,还有一个备份函数copy。copy函数的功能是将对象a2的x,y赋值给对象a1的x,y。如果调用a1.copy(&a2),则需要判断是否给自己赋值,可以使用this指针来实现。具体实现如下:
```c++
class CPt {
public:
int x, y;
void copy(CPt* p) {
if (this != p) {
this->x = p->x;
this->y = p->y;
}
}
};
```
在copy函数中,首先判断this指针是否等于p指针,如果不等于,则将p指针所指对象的x,y值赋值给this指针所指对象的x,y值。这样就可以实现对象备份的功能了。
阅读全文