构造函数(C++)

与名称的成员函数及其类同名是构造函数。构造函数无法返回值。指定返回类型为的构造函数是错误,采用构造函数的地址。

如果类具有一个构造函数,该类型的每个对象初始化与构造程序中的使用上面。(有关初始化的更多信息,请参见 使用特殊成员函数的初始化。)

构造函数调用对象中创建的点。对象创建如下所示:

  • 全局 (文件范围或外部链接) 对象。

  • 本地对象,在函数或更小封闭块中。

  • 动态对象,使用 运算符。 运算符分配在程序堆或 “自由存储的对象”。

  • 显式调用创建的临时对象构造函数。(有关更多信息,请参见 临时对象。)

  • 编译器隐式创建的临时对象。(有关更多信息,请参见 临时对象。)

  • 另一个类的数据成员。创建类对象中键入,其中是类类型由其他类类型变量组成,原因是对要创建的类的每个对象。

  • 类的基类 subobject。创建派生类类型对象会导致基类元素中创建。

示例

// constructors.cpp
// compile with: /c
class MyClass {
public:
   MyClass(){}
   MyClass(int i) : m_i(i) {}

private:
   int m_i;
};

请参见

参考

特殊成员函数(C++)