C++学习笔记——static对象

一、static对象——累计创建了多少对象和正在使用的对象数目

static更多的是作为一个介入类的一个第三方成员变量。
声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;
用static修饰的成员函数,称之为静态成员函数。
静态成员变量一定要在类外进行初始化
面试题:实现一个类,计算程序中创建出了多少个类对象。
如下代码:每次创建一个对象和拷贝一个对象都被统计,用static对象_scount统计到底创建了多少个对象。

#include
using namespace std;	

class A
{
public:
	A()
	{
		++_scount;
	}

	A(const A& t)
	{
		++_scount;
	}

	~A()
	{
		--_scount;
	}

	static int GetACount()
	{
		return _scount;
	}

private:
	static int _scount;
};


int A::_scount = 0;

void TestA()
{
	cout << A::GetACount() << endl;
	A a1, a2;
	A a3(a1);
	cout << A::GetACount() << endl;
}

int main()
{
	TestA();
	return 0;
}

在这里插入图片描述

你可能感兴趣的:(C++学习笔记,c++,学习,笔记)