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