#include "iostream"
using namespace std;
/*-------Begin----------C语言部分-------Begin----------*/
//c语言中的static两种用法:
//1、用于变量,知道程序结束才释放
//2、用于函数,限制在本.c文件中不能被外界调用
//状态保留
//用static修饰变量
void GetStatic()
{
int a = 10;
//b只初始化一次
static int b = 10;
printf("a:%d b:%d \n", a, b);
a++;
b++;
}
//这个函数只能在这个c文件中被使用
static void myprintf()
{
printf("锄禾日当午,汗滴禾下土");
}
/*-------End----------C语言部分-------End----------*/
/*-------Begin----------C++部分-------Begin----------*/
//指针做函数参数
class Test
{
private:
int m_a;
//属于具体的对象
int m_b;
static int count;
//static修饰的变量或者函数,属于这个类,不属于具体的对象
public:
Test(int a, int b)
{
m_a = a;
m_b = b;
count ++;
cout<<"构造执行"<<endl;
}
~Test()
{
cout<<"析构执行"<<endl;
}
void setCount(int i){count=i;}
static int getCount()
{
return count;
}
};
//初始化方法
int Test::count = 0;
void main()
{
Test t1(1, 3), t2(3, 4);
//更改static变量方法
t1.setCount(200);
//两种调用方法
cout<<Test::getCount()<<endl;;
cout<<t2.getCount()<<endl;;
system("pause");
}
备份地址: 【关于c/c++中的static】