分别定义默认构造函数、
时间: 2023-09-17 07:13:58 浏览: 42
拷贝构造函数和赋值运算符重载函数的语法和作用。
默认构造函数:
```c++
class MyClass {
public:
MyClass(); // 默认构造函数声明
// ...
};
MyClass::MyClass() {
// 构造函数定义
// ...
}
```
默认构造函数是没有参数的构造函数。当我们创建一个类的对象时,如果没有显式地调用构造函数,就会自动调用默认构造函数。默认构造函数的作用是初始化类的成员变量。
拷贝构造函数:
```c++
class MyClass {
public:
MyClass(); // 默认构造函数
MyClass(const MyClass& other); // 拷贝构造函数声明
// ...
};
MyClass::MyClass(const MyClass& other) {
// 拷贝构造函数定义
// ...
}
```
拷贝构造函数是一种特殊的构造函数,用于创建一个新对象并将其初始化为已有对象的副本。当我们用一个已有对象初始化一个新对象时,就会自动调用拷贝构造函数。拷贝构造函数的作用是复制已有对象的成员变量到新对象中。
赋值运算符重载函数:
```c++
class MyClass {
public:
MyClass(); // 默认构造函数
MyClass(const MyClass& other); // 拷贝构造函数
MyClass& operator=(const MyClass& other); // 赋值运算符重载函数声明
// ...
};
MyClass& MyClass::operator=(const MyClass& other) {
if (this != &other) {
// 赋值运算符重载函数定义
// ...
}
return *this;
}
```
赋值运算符重载函数是一种特殊的成员函数,用于将一个对象的值赋给另一个对象。当我们使用赋值运算符 `=` 将一个对象赋给另一个对象时,就会自动调用赋值运算符重载函数。赋值运算符重载函数的作用是将一个对象的成员变量的值赋给另一个对象的成员变量。