Counting instances of individual derived classes

前端 未结 10 916
南笙
南笙 2021-01-06 04:42

I\'d like to be able to count instances of classes that belong in the same class hierarchy.

For example, let\'s say I have this:

class A;
class B: pu         


        
10条回答
  •  梦毁少年i
    2021-01-06 04:58

    Use a static member variable for each class.

    struct A {
        A() { mInstances++; }
        ~A() { mInstances--; }
        static size_t mInstances;
        static size_t GetInstancesCount() { return mInstances; }
    };
    
    size_t A::mInstances;
    
    int main() {
        A* a = new A;
        A* aa = new A;
        cout << A::GetInstancesCount() << endl;
        delete a;
        delete aa;
        cout << A::GetInstancesCount() << endl;
        return 0;
    }
    

提交回复
热议问题