C++静态成员变量
来源:互联网 发布:淘宝价格法2017 编辑:程序博客网 时间:2024/06/06 09:07
#include <iostream>using namespace std;class A{static int x; // 实现数据共享, 所有该类产生的对象都共用这个x, 比全局变量好。};int A::x = 100;int main(){A a;return 0;}
如此一来, 似乎是对私有的变量在类外进行直接访问了啊, 这岂不是违背了类的保护性机制么? 其实没有。 注意:static int x; 是变量的初始化, 而且只能在类体外, 且类外不能直接访问。如:
#include <iostream>using namespace std;class A{static int x;};int A::x = 100;int main(){A a;cout << a.x << endl; // error cout << A::x << endl; // errorreturn 0;}
另外, 书上说, 如果一个静态数据成员声明了,但未被定义, 会有连接错误, 但我貌似没有在VC++6.0中看到错误啊:
#include <iostream>using namespace std;class A{static int x;};int main(){A a;return 0;}
0 0
- c++--静态成员变量
- C/C++静态成员变量和静态成员函数
- c++:静态成员变量和静态成员函数使用问题
- objective-c没有类静态成员变量
- 静态成员、静态变量
- 静态成员变量成员函数
- 独一无二----静态成员变量
- 静态成员变量
- 静态成员变量
- 私有静态成员变量
- 基础知识-静态成员变量
- php 静态成员变量
- c++静态成员变量
- static静态成员变量
- 静态成员变量
- 静态成员变量
- 静态成员变量
- C++静态成员变量
- PowerDesigner反向工程,根据数据库结构生成ER图(Oracle)
- mysql 学习笔记
- loadRunner参数篇
- 【数据结构与算法】【查找】斐波那契查找的代码实现
- 李白打酒
- C++静态成员变量
- 黑马程序员-->Java基础-->IO流
- oracle学习路线
- java-流-输入流
- 黑马程序员—Objective-C学习—Foundation—集合类和其他类
- java(SWING)守护程序
- LoadRunner之基础-进程与线程篇
- __func__
- 用R语言进行文件系统管理