首页 > 代码库 > C++静态成员变量需注意的问题
C++静态成员变量需注意的问题
1、在类的内部仅仅进行声明
为什么?
因为如果这样的话,每构造一个对象就要进行一次初始化,而这样就不能达到类共享的目的。
2、在类的外部要进行初始化
为什么?
因为在类的仅仅进行了声明(编译器会这样认为),没有分配存储空间,在类外进行初始化话,是为了分配存储空间。
3、初始化时不加static
示例
#include "stdafx.h" #include <iostream> using namespace std; class A { public: static int num; void show() { cout<<num<<endl; } }; //static int A::num=100; //非法 int A::num; int main(void) { A temp=A(); temp.show(); system("pause"); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。