默认构造函数与参数化构造函数的区别
默认构造函数和参数化构造函数是 C++ 中的两种特殊构造函数,它们在创建对象时自动调用,具有不同的行为和用途。
默认构造函数
默认构造函数是一种特殊的构造函数,用于创建对象时没有参数或只带有一个参数。当创建对象时,如果没有任何参数,则使用默认构造函数。它只调用一次,初始化对象的公共和私有成员。
例如,在以下代码中,Person
类具有一个默认构造函数:
class Person {
public:
Person() {
name = "Unknown";
age = 0;
}
// 其他成员函数和变量...
};
参数化构造函数
参数化构造函数是一种特殊的构造函数,允许在创建对象时传递任意数量和类型的参数。这些参数被用作初始化对象成员变量的依据。
例如,在以下代码中,Person
类具有一个参数化构造函数:
class Person {
public:
Person(const std::string& name, int age) :
name(name), age(age) {}
// 其他成员函数和变量...
};
总结
默认构造函数和参数化构造函数是 C++ 中的两种特殊构造函数,它们具有不同的行为和用途。默认构造函数用于在没有参数的情况下创建对象,而参数化构造函数用于在创建对象时传递任意数量和类型的参数。
领取专属 10元无门槛券
手把手带您无忧上云