选件类成员

类可以具有以下成员:

备注

该成员列表类可以分为 private、 protected 和 公共 部分使用一种称为访问说明符的关键字。 冒号 : 必须遵循访问说明符。 这些节不需要是连续的,也就是说,这些关键字中的任何一个可以出现在该成员的多个列表。 关键字指定所有成员访问直至下一个访问说明符或中的右大括号。

在该成员的成员声明列表以分号分隔 ;类成员声明语法参见。

该成员的目的列表是:

  • 声明了特定类的成员。

  • 指定访问 (公共,私有或受保护) 与各种类成员。

在成员的参考列表,您可以一次只声明成员;成员的重新生成一条错误消息。 由于成员列出了成员,不能将成员添加到与后续类声明的特定类。

成员声明不能包含初始值设定项。 提供初始值设定项导致错误消息如下面的代码所示:

// class_members1.cpp
// C2864 expected
class CantInit
{
public:
    long l = 7;       // Error: attempt to initialize
                      //  class member.
    static int i = 9; // Error: must be defined and initialized
                      // outside of class declaration.
};
int main()
{
}

由于非静态成员数据实例为特定类的每个对象都创建类型,正确方式初始化数据成员是使用类的构造函数。 (构造函数在 构造函数,包括。)

只有静态数据成员的共享复制特定类的所有对象的类型。 静态数据成员必须定义和可初始化在文件范围。 (有关静态数据成员的更多信息,请参见 静态数据成员。)下面的示例演示如何执行这些初始化:

// class_members2.cpp
class CanInit
{
public:
    CanInit() { l = 7; } // Initializes l when new objects of type 
                         //  CanInit are created.
    long       l;
    static int i;
    static int j;
};

// i is defined at file scope and initialized to 15.
// The initializer is evaluated in the scope of CanInit.
int CanInit::i = 15;                                                       

// The right side of the initializer is in the scope 
// of the object being initialized
int CanInit::j = i;  

int main()
{
}

备注

类名, CanInit,必须在 i 指定定义的 i 是类 CanInit的成员。

Microsoft 专用

Microsoft C++ 使静态、常量整型常量和枚举在类定义将初始化的数据成员。 对于 C 和 C++ 的 Microsoft 扩展参见。

请参见

参考

选件类、结构和联合