#include #include class CTString { private: char *str; static int objectCount; // 静态成员变量,用于记录对象个数 public: CTString() { str = NULL; // or str = 0; objectCount++; // 增加对象计数 } CTString(const char *s) { str = new char[strlen(s) + 1]; strcpy(str, s); objectCount++; } ~CTString() { objectCount--; // 先减少对象计数 delete[] str; // 释放字符串内存 } void Print() { if (str) std::cout << str << std::endl; else std::cout << "空字符串" << std::endl; } void Copy(const char *s) { delete[] str; str = new char[strlen(s) + 1]; strcpy(str, s); } static int getObjectCount() { return objectCount; } }; int CTString::objectCount = 0; // 静态成员变量初始化 int main() { CTString *pstr; pstr = new CTString; pstr->Print(); pstr->Copy("hello"); pstr->Print(); std::cout << "总共创建的对象数量: " << CTString::getObjectCount() << std::endl; delete pstr; // 等待用户按下任意键后再退出 std::cin.get(); return 0; }