类静态成员作用,无论创建多少个实例,类静态成员只有一个副本,即不会被销毁,除非程序运行结束。类静态成员只能单独定义,无法在构造函数中定义类静态成员类静态成员访问的话 只能通过类静态函数访问类静态存放在静态存储区,只有运行结束后,才会被销毁,无法通过delete方式销毁,原因是因为存放位置不同。
类静态成员函数实例
首先是静态类声明,里面包含了静态成员函数findmm,和静态成员变量cur_count
#include "stdafx.h"class Samples{public:Samples();~Samples();void doing();static void findmm();int mm;private:int m_SampleCount;static int cur_count;};
类静态函数实现
// SmartPointers.cpp : 定义控制台应用程序的入口点。// 智能指针使用#include "stdafx.h"#include "SampleDemo.h"using namespace std;int Samples::cur_count = 22;Samples::Samples():m_SampleCount(11),mm(1111){//mm = 12;std::cout<< "Sample Init();" << endl;cout << mm << endl;}Samples::~Samples(){std::cout << "Sample Release();" << endl;}void Samples::doing(){cout << m_SampleCount << endl;cout << "正在姑丈" << endl;}void Samples::findmm(){cur_count = cur_count + 1;cout << cur_count << endl;//cout << mm << endl;}int _tmain(int argc, _TCHAR* argv[]){//std::auto_ptr<Samples> ss(new Samples());Samples *ss = new Samples();ss->doing();ss->findmm();delete ss;Samples *ff = new Samples();ff->doing();ff->findmm();delete ff;system("pause");return 0;}
运行截图: