C++静态成员变量的初始化
2014-03-03 16:53
134 查看
需要注意的是:静态数据成员不能在类中初始化,一般在类外和main()函数之前初始化,缺省时初始化为0。
1.static成员的所有者是类本身,但是多个对象拥有一样的静态成员。从而在定义对象是不能通过构造函数对其进行初始化。
2.静态成员不能在类定义里边初始化,只能在class body外初始化。
3.静态成员仍然遵循public,private,protected访问准则。
4.静态成员函数没有this指针,它不能返回非静态成员,因为除了对象会调用它外,类本身也可以调用
静态成员属于全局变量,是所有实例化以后的对象所共享的,而成员的初始化你可以想象成向系统申请内存存储数据的过程,显然这种共有对象。不能在任何函数和局部作用域中初始化。
1.static成员的所有者是类本身,但是多个对象拥有一样的静态成员。从而在定义对象是不能通过构造函数对其进行初始化。
2.静态成员不能在类定义里边初始化,只能在class body外初始化。
3.静态成员仍然遵循public,private,protected访问准则。
4.静态成员函数没有this指针,它不能返回非静态成员,因为除了对象会调用它外,类本身也可以调用
静态成员属于全局变量,是所有实例化以后的对象所共享的,而成员的初始化你可以想象成向系统申请内存存储数据的过程,显然这种共有对象。不能在任何函数和局部作用域中初始化。
class point{ public: point(){}; // ... private: static int x,y; }; int point::x = 0; int point::y = 0; int main(){ // ... }
相关文章推荐
- c++中静态成员变量要在类外部再定义或初始化的原因
- VC C++中定义静态成员变量后需要在外部初始化,否则出错
- c++中静态成员变量要在类外部再定义或初始化的原因
- C++ Static Member Variable Initialization 静态成员变量初始化
- C++静态成员变量的声明与定义及初始化
- C++ Static Member Variable Initialization 静态成员变量初始化
- 关于c++ 的静态成员变量为什么一定要初始化
- C++中的静态成员变量的定义和初始化
- 变量的初始化C++新特性
- C++的一大误区——深入解释直接初始化与复制初始化的区别
- [c++]非局部静态对象初始化顺序
- C/C++ struct初始化/复制/内存分配技巧
- C++的类初始化列表
- C++实现二叉树(初始化,删除,遍历)
- java继承中静态成员变量的初始化顺序
- C++之静态成员变量和静态成员函数详解
- Way on c & c++ 小记 [五] – 初始化列表与成员函参作用域
- C++17尝鲜:把整形变量 i 初始化成1的七种方法
- [C/C++]_[初级]_[关于数组的初始化问题]
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员