C++编写一个类,统计目前存在多少个该类的对象
作者:野牛程序员:2024-10-25 11:10:46 C++阅读 2369
C++编写一个类,统计目前存在多少个该类的对象
C++编写一个类,统计目前存在多少个该类的对象
以下是一个 C++ 程序,定义了一个类 ObjectCounter
,用于统计当前存在多少个该类的对象:
#include <iostream> class ObjectCounter { private: static int count; // 静态成员,用于统计对象数量 public: // 构造函数 ObjectCounter() { count++; // 每次创建对象时计数器加一 } // 析构函数 ~ObjectCounter() { count--; // 每次销毁对象时计数器减一 } // 静态成员函数,返回当前对象数量 static int getCount() { return count; } }; // 静态成员初始化 int ObjectCounter::count = 0; int main() { std::cout << "当前对象数量: " << ObjectCounter::getCount() << std::endl; // 创建对象 ObjectCounter obj1; std::cout << "创建 obj1,当前对象数量: " << ObjectCounter::getCount() << std::endl; ObjectCounter obj2; std::cout << "创建 obj2,当前对象数量: " << ObjectCounter::getCount() << std::endl; { ObjectCounter obj3; std::cout << "创建 obj3,当前对象数量: " << ObjectCounter::getCount() << std::endl; } // obj3 超出作用域,自动调用析构函数 std::cout << "obj3 超出作用域后,当前对象数量: " << ObjectCounter::getCount() << std::endl; return 0; }
程序说明
ObjectCounter 类:
包含一个静态成员
count
,用于统计当前存在的对象数量。构造函数: 每次创建对象时,
count
加一。析构函数: 每次销毁对象时,
count
减一。静态成员函数
getCount
: 返回当前对象数量。main 函数:
显示创建和销毁对象后的当前对象数量。
创建几个对象以演示计数功能,并在一个局部作用域中创建
obj3
,展示作用域结束时对象数量的变化。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
