类中的数据成员
静态数据成员
静态成员只属于类,不属于对象。该类的所有对象都共享同一个静态成员。静态成员的申明是使用static
关键字。正因为静态成员数据不属于任何一个对象,因此其初始化不应该有构造对象来进行初始化。其初始化方式有两种:
在类的内部申明静态数据成员,在类外部定义、初始化静态数据成员(不需要使用
static
)。这是常用的使用方式。静态数据成员应在*.cc
文件中进行定义和初始化。如果在头文件中定义以及初始化则当头文件被多个模块包含的时候会造成重复定义的错误。class Account{ public: // 申明静态数据成员 static double route; /*...*/ } // 定义并且初始化静态数据成员 double route = 0.0;
当静态数据成员是constexpr 表达式时,可以在类内部申明、初始化静态数据成员,但
是在哒哒哒哒哒哒多多多等等