C++默认构造函数是一种特殊的构造函数,它没有任何参数,并且没有定义任何函数体,它可以被用来创建类的实例。当类没有定义任何其他的构造函数时,编译器会自动为类生成一个默认构造函数。
使用方法
使用默认构造函数可以通过构造函数初始化类的成员变量,它可以像创建普通的变量一样,只需要使用类名作为函数名,在括号内放置一对空括号,如下所示:
class Person {
int age;
string name;
public:
Person();
};
Person p; // 使用默认构造函数
上面的代码中,Person类定义了一个默认构造函数,它没有任何参数,没有定义任何函数体,这意味着它不会对类的成员变量进行初始化,而是使用编译器默认的初始化方式,即将age设置为0,name设置为空字符串。
除了可以用来初始化类的成员变量外,默认构造函数还可以用来调用其他构造函数,如下所示:
class Person {
int age;
string name;
public:
Person(int age, string name);
Person() : Person(0, "") {}
};
Person p; // 使用默认构造函数
上面的代码中,Person类定义了一个默认构造函数,它调用了Person(int age, string name)构造函数,将age设置为0,name设置为空字符串。
默认构造函数还可以用来分配内存,如下所示:
class Person {
int age;
string name;
public:
Person *p;
Person() {
p = new Person;
}
};
Person p; // 使用默认构造函数
上面的代码中,Person类定义了一个默认构造函数,它会为Person类的p成员变量分配内存,以便创建Person对象。
默认构造函数是一种特殊的构造函数,它可以被用来初始化类的成员变量、调用其他构造函数以及分配内存,是C++编程中常用的一种构造函数。