静态成员变量只能在类外初始化

文章目录


静态成员变量是类对象所共有的成员变量,不应该依赖于实例对象的创建。类外定义静态成员变量就是一种很好的方法,保证只被初始化一次。
static const int可以在类里面初始化,是因为它既然是const的,那程序就不会再去试图初始化了。
1、避免重复初始化
2、满足static语义

#include   <iostream.h> 

class   CDummy 
{ 
public: 
        static   int   n; //这里只是声明
}; 

int   CDummy::n=9; //这里是定义加初始化

void   main() 
{ 
        cout < <CDummy::n < <endl; 
} 

上面这样完全没问题,但是不能直接在类中初始化,比如: 

static   int   n=9; 

版权声明:本文为Joker_N原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。