使用特殊成员函数的初始化

使用特殊成员函数,本节描述初始化。 它在关于初始化的以下讨论展开:

  • 描述 如何初始化简单的类类型的数组 nonclass 类型和对象的初始化的聚合 。 以下简单的类类型不能具有私有或受保护的成员,并且,它们不能有基类。

  • 构造函数,使用特殊构造函数,说明如何初始化类类型的对象。

初始化默认方法将从该初始值设定项的位为位复制到要初始化的对象。 此方法只适用于:

  • 内置类型的对象。 例如:

    int i = 100;
    
  • 指针。 例如:

    int i;
    int *pi = &i;
    
  • 引用。 例如:

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • 类对象键入,其中是类没有没有私有或受保护的成员、虚函数和基类。 例如:

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

类可以通过定义构造函数指定完善的初始化。 (有关声明这些功能的更多信息,请参见 构造函数。)如果对象具有一个构造函数是类类型,必须初始化对象,或者必须具有默认构造函数。 不专门初始化的对象调用类的默认构造函数。

请参见

参考

特殊成员函数(C++)