当前位置:首页 C++ > 正文

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;
}

程序说明

  1. ObjectCounter 类:

    • 包含一个静态成员 count,用于统计当前存在的对象数量。

    • 构造函数: 每次创建对象时,count 加一。

    • 析构函数: 每次销毁对象时,count 减一。

    • 静态成员函数 getCount: 返回当前对象数量。

  2. main 函数:

    • 显示创建和销毁对象后的当前对象数量。

    • 创建几个对象以演示计数功能,并在一个局部作用域中创建 obj3,展示作用域结束时对象数量的变化。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • C++
  • 最新推荐

    热门点击