C++ 构造函数
构造函数
C++ 中的构造函数是创建类对象时自动调用的一个特殊方法。
要创建构造函数,请使用与类相同的名称,后跟括号 ()
示例
class MyClass { // 类
public: // 访问说明符
MyClass() { // 构造函数
cout << "Hello World!";
}
};
int main() {
MyClass myObj; // 创建 MyClass 的对象(这将调用构造函数)
return 0;
}
自己动手试一试 »
注意:构造函数与类同名,它始终是 public
的,并且没有返回值。
构造方法参数
构造函数也可以接受参数(就像普通函数一样),这对于设置属性的初始值非常有用。
以下类具有 brand
、model
和 year
属性,以及一个具有不同参数的构造函数。在构造函数内部,我们将属性设置为等于构造函数参数(例如 brand=x
)。当我们调用构造函数(通过创建类的对象)时,我们将参数传递给构造函数,它将相应属性的值设置为相同
示例
class Car { // 类
public: // 访问说明符
string brand; // 属性
string model; // 属性
int year; // 属性
Car(string x, string y, int z) { // 带参数的构造函数
brand = x;
model = y;
year = z;
}
};
int main() {
// 创建 Car 对象并调用带有不同值的构造函数
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// 打印值
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
自己动手试一试 »
与函数一样,构造函数也可以在类外定义。首先,在类内声明构造函数,然后通过指定类名,后跟作用域解析 ::
运算符,再后跟构造函数名(与类名相同)来在类外定义它。
示例
class Car { // 类
public: // 访问说明符
string brand; // 属性
string model; // 属性
int year; // 属性
Car(string x, string y, int z); // 构造函数声明
};
// 类外构造函数定义
Car::Car(string x, string y, int z) {
brand = x;
model = y;
year = z;
}
int main() {
// 创建 Car 对象并调用带有不同值的构造函数
Car carObj1("BMW", "X5", 1999);
Car carObj2("Ford", "Mustang", 1969);
// 打印值
cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
return 0;
}
自己动手试一试 »