#include "new_class_id.h" #include "new_object_list.h" #include class Test { public: Test(); ~Test(); NewObjectListDeclaration(Test); //ObjectListDeclaration(Test); }; NewObjectListDefinition(Test); Test::Test() { std::cout << "Test()\n"; }; Test::~Test() { std::cout << "~Test()\n"; } class Bone { public: Bone() { std::cout << "Bone()\n"; }; ~Bone() { std::cout << "~Bone()\n"; }; NewObjectListDeclaration(Bone); }; NewObjectListDefinition(Bone); int main() { Test* test = new Test(); NewClassID id; id.registerObject(test, Test::objectList); delete test; Bone* bone = new Bone(); delete bone; std::cout << NewObjectListBase::classCount() << std::endl; }