类中使用静态数据成员
2015-09-28 15:00
176 查看
类的静态成员,保证每个类只有一个实体,每个对象中不再有它的副本。
由于静态成员脱离对象而存在的性质,所以该实体应该在所有对象产生之前存在,因此,更适合的时机是在程序启动的时候,做其初始化。
name :yang number is :3
name :ge number is :3
请按任意键继续. . .
注:静态数据成员在程序中的唯一性,要求其不能跟着Student类定义放在头文件中,但它又确实是Student类的一员,所以放在类的实现代码中是最合适的。
1
由于静态成员脱离对象而存在的性质,所以该实体应该在所有对象产生之前存在,因此,更适合的时机是在程序启动的时候,做其初始化。
//---------main.cpp------------ #include <iostream> #include <string> using namespace std; class Student { private: static int number; string name; public: void set(string str) { name = str; number++; } void prin() {std::cout<<"name :" << name <<" number is :"<<number<<endl;} }; int Student::number = 0; //静态数据成员在类外分配空间和初始化,定义静态成员的格式不能重复使用static,必须加类名和域操作将其初始化 void fn() { Student s1; s1.set("yang"); Student s2; s2.set("qing"); s1.prin(); } int main(int argc,char **argv) { Student s; s.set("ge"); fn(); s.prin(); return 0; }
name :yang number is :3
name :ge number is :3
请按任意键继续. . .
注:静态数据成员在程序中的唯一性,要求其不能跟着Student类定义放在头文件中,但它又确实是Student类的一员,所以放在类的实现代码中是最合适的。
1
相关文章推荐
- struts拦截器实现记录日志
- Struts2 四、Struts2 处理流程
- Android多媒体
- Win10系统安装完显卡驱动后蓝屏怎么办?Win10系统安装完显卡驱动后蓝屏的解决方法
- linux下tar命令
- iPhone 6s玫瑰金版怎么样
- Android Studio
- 读书笔记——《程序员自我修养》——目标文件
- SVG可伸缩矢量图形学习笔记
- [LeetCode]题解(python):019-Remove Nth Node From End of List
- nginx实现反向代理
- 反射的三段很有启发的代码
- makefile查找文件是否存在,不存在才拷贝;
- (转)写让别人能读懂的代码
- history添加时间点显示、及最常用法
- 大众点评网全国数据2015年08月份更新(1480万条)
- Android系统搜索对话框(浮动搜索框)的使用
- ibatis.net MVC 单元测试 错误解决方法
- linux常用命令(54):kill命令
- Android设备的电池续航时间优化(Optimizing Battery Life)——(一)监听电池电量和电池的充电状态