静态成员
来源:互联网 发布:电子相册mv制作软件 编辑:程序博客网 时间:2024/06/05 05:20
静态成员
一.属于类而非对象
•静态成员变量不包含在对象实例中,具有进程级的生命周期
•静态成员函数没有this指针,也没有常属性
•静态成员依然受类作用域和访问控制限定符的约束
二外部定义和初始化
•静态成员变量的定义和初始化,只能在类的外部而不能在构造函数中进行
–class Account { public: static double s_interest; };–double Account::s_interest = 0.001;
二.通过类或对象访问
•访问静态成员,既可以通过类也可以通过对象
–Account acc (...), pacc = &acc; acc.s_interest = 0.002; pacc->s_interest = 0.003; Account::s_interest = 0.004;
三.对象共享
•静态成员变量为该类的所有对象实例所共享
–Account acc1 (...), acc2 (...), acc3 (...); acc1. s_interest += 0.001; cout << Account::s_interest << endl; // 0.002 acc2. s_interest += 0.002; cout << Account::s_interest << endl; // 0.004 acc3. s_interest += 0.003; cout << Account::s_interest << endl; // 0.007 Account::s_interest -= 0.004; cout << acc1.s_interest << endl; // 0.003 cout << acc2.s_interest << endl; // 0.003 cout << acc3.s_interest << endl; // 0.003
四.静静非静静非静
•静态成员函数只能访问静态成员变量或调用静态成员函数
•非静态成员函数既可以访问静态成员变量或调用静态成员函数,也可以访问非静态成员变量或调用非静态成员函数
五.具有成员访问性的全局标识符
•事实上,类的静态成员变量和静态成员函数,更象是普通的全局变量和全局函数,
只是多了一层类作用域和访问控制属性的限制,相当于具有成员访问性的全局变量和全局函数
•类的静态成员变量通常用于表示需要在该类的多个实例化对象间共享的属性,如银行账户的利率
•类的静态成员函数一方面可以独立于对象充当静态成员变量的访问接口,另一方面它也可以在不破坏封装性的前提下,让一个类有能力管理自己的对象
阅读全文
0 0
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- 静态成员
- C语言 typedef和define的具体区别
- 关联规则挖掘
- js中如何判断按钮是否被点击了
- storm trident的多数据流,多spout
- java并发编程的艺术【一】并发编程的挑战
- 静态成员
- JS 数组去重(数组元素是对象的情况)
- HBuilder连接git的操作
- ElasticSearch2.3.1使用delete-by-query插件
- Android获取手机内的所有图片和视频
- 华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位
- 行业累计成交破5万亿 网贷借款人数持续上升
- 欠自己的nginx部署文档
- (5)String--原型属性prototype