1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
class MyClass {
public:
int* data;
size_t size;
// 构造函数
MyClass(size_t s = 0) : size(s), data(new int[s]()) {}
// 拷贝赋值运算符
MyClass& operator=(const MyClass& other) {
if (this != &other) { // 防止自赋值
delete[] data; // 释放已有资源
size = other.size;
data = new int[size]; // 分配新资源
std::copy(other.data, other.data + size, data); // 深拷贝数据
}
return *this; // 返回赋值后的结果
}
~MyClass() {
delete[] data;
}
};
|