C++学习笔记05-static与文件的注意事项

static成员

c++禁止在类声明中初始化非常量static成员
也就是说,如果你的【static】类成员既不没有【const】,也不是enum成员
那么c++编译器将禁止在类声明中初始化【static】成员

典型编译报错
static编译报错

如何为static成员赋值?

在类实现中使用作用域解析运算符 :: 指出所属类,再对其中的static成员赋值
下面是类声明

#ifndef _FOO_H_
#define _FOO_H_
class Foo{
	private:
		static int a;
}
#endif

在类实现里面才初始化

#include "Foo.h"
int a = 1;

但是类实现里面就不需要再用static修饰a了

猜你喜欢

转载自blog.csdn.net/weixin_46028606/article/details/107440477