构造函数的重载
时间: 2023-10-11 12:12:59 浏览: 59
构造函数是一种特殊的成员函数,用于创建对象并初始化对象的数据成员。重载构造函数指的是在同一个类中定义多个不同参数列表的构造函数。
在C++中,可以通过在类中定义多个构造函数并采用不同的参数列表来实现构造函数的重载。例如,假设我们有一个类Person,可以定义以下两个构造函数:
```cpp
class Person {
public:
// 构造函数1:无参构造函数
Person() {
name = "unknown";
age = 0;
}
// 构造函数2:有参构造函数
Person(string n, int a) {
name = n;
age = a;
}
private:
string name;
int age;
};
```
在上面的代码中,我们定义了两个构造函数,一个是无参构造函数,一个是有参构造函数。它们的参数列表不同,一个是没有参数,一个是有两个参数。当我们创建Person对象时,可以根据不同的参数列表来调用不同的构造函数。
例如,我们可以使用无参构造函数创建一个默认的Person对象:
```cpp
Person p1; // 调用无参构造函数
```
也可以使用有参构造函数创建一个指定姓名和年龄的Person对象:
```cpp
Person p2("Tom", 20); // 调用有参构造函数
```
通过构造函数的重载,我们可以根据不同的需求来创建对象,并且可以让对象在创建时就得到合适的初始化。