static关键字

1,static 成员变量

  • static 成员变量不随着对象的创建而开辟内存空间。也就是说,不管从哪个对象去看static成员变量,都是一样的。

2, static 成员方法

  • static 成员方法里不可以调用非static 成员方法。
  • 非static 成员方法里可以调用static 成员方法。

原因:非static 成员方法里是没有this指针的,所以在里面调用非static 成员方法时,无法传递this指针。static 成员方法不需要this指针。

重点:初始化static成员变量,要在类的外面。

#include <iostream>
using namespace std; class Test{
friend void fun(const Test &t);
public:
Test(int d = 0) : data(d){
count++;
}
~Test(){
count--;
}
private:
int data;
static int count;
}; void fun(const Test &t){
cout << t.data << endl;
cout << Test::count << endl;
} //初始化static成员变量
int Test::count = 0; int main(){
//int Test::count = 0;//编译不过,必须在外面初始化static成员变量
//Test::count = 0;//编译不过,必须在外面初始化static成员变量
Test t(10);
fun(t);
Test t1(11);
fun(t1);
}

最新文章

  1. java占位符应用
  2. WebService如何调试及测试工具
  3. jQuery事件绑定.on()简要概述及应用
  4. 网易Ubuntu镜像使用帮助(ubuntu15.10 修改源)
  5. [转]:Delphi中Format的字符串格式化使用说明
  6. 创建型模式之Strategy模式
  7. SQLite加密的方法(c#)
  8. Centos 7配置ntp时间同步
  9. 运用.NIT将数据存入数据库、读取数据库(运用封装)陈老师作业
  10. JS 的点点滴滴
  11. ECSHOP文件目录详解
  12. Fiddler使用总结(一)
  13. Oracle中的4大空值处理函数用法举例
  14. [Flask]学习杂记--模板
  15. js-new、object.create、bind的模拟实现【转载备忘】
  16. 12.代理模式(Proxy Pattern)
  17. A - Longest k-Good Segment (尺取法)
  18. 20145232 韩文浩 《Java程序设计》第10周学习总结
  19. ORACLE基本操作备忘
  20. oracle主键约束、唯一键约束和唯一索引的区别

热门文章

  1. SQL 操作字符串
  2. lucene实战--打分算法没有那么难!
  3. 爬虫之抓取js生成的数据
  4. MVC学习之路【小补充】
  5. [转]node-sass 安装失败的各种坑
  6. JavaScript是如何工作的:Service Worker的生命周期及使用场景
  7. K8S Calico
  8. CSS3效果:animate实现点点点loading动画效果(二)
  9. 2018-08-06 在Office的VBA代码里中文命名
  10. 29.Odoo产品分析 (四) – 工具板块(2) – 搜索和仪表盘(1)