摘要: 1 未完成的需求 统计在程序运行期间某个类的对象数目 保证程序的安全性(不能使用全局变量) 随时可以获取当前对象的数目(Failure)=> 必须借用一个对象才能调用“获取当前对象的数目”的函数 示例:解决方案的尝试 Demo #include <stdio.h> class Test { publ 阅读全文
posted @ 2020-09-23 21:36 nxgy 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1 成员变量回顾 通过对象名能够访问 public 成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 2 新的需求 统计在程序运行期间某个类的对象数目 保证程序的安全性(不能使用全局变量) 随时可以获取当前对象的数目 3 解决方法 方案1 Demo #include <stdio. 阅读全文
posted @ 2020-09-23 21:08 nxgy 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1 析构函数调用顺序 【问题】当程序中存在多个对象时,如何确定这些对象的析构顺序? 对于栈对象和全局对象,类似于入栈和出栈的顺序,最后构造的对象被最先析构 堆对象的析构发生在使用 delete 的时候,与 delete 的使用顺序相关 单个对象创建时构造函数的调用顺序 1.调用父类的构造函数 2.调 阅读全文
posted @ 2020-09-23 19:45 nxgy 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1 问题 下面的程序输出什么?为什么? class Test { int mi; public: Test(int i) { mi = i; } Test() { Test(0); // 直接调用构造函数:产生一个临时对象,等价于空语句 } void print() { printf("mi = % 阅读全文
posted @ 2020-09-23 19:02 nxgy 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1 问题 C++ 如何清理需要销毁的对象? 2 对象的销毁 一般而言,需要销毁的对象都应该做清理 解决方案 为每个类都提供一个 public 的 free 函数 对象不再需要时立即调用 free 函数进行清理 class Test { int* p; public: Test(){ p = new 阅读全文
posted @ 2020-09-23 13:23 nxgy 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1 问题 C++ 中的类可以定义多个对象,那么对象构造的顺序是怎样的? 2 对象的构造顺序 对于局部对象 当程序执行流到达对象的定义语句时进行构造 示例:局部对象的构造顺序 Demo #include <stdio.h> class Test { private: int mi; public: T 阅读全文
posted @ 2020-09-23 12:30 nxgy 阅读(143) 评论(0) 推荐(0) 编辑