自定义数据类型:构建 Box 对象的链表管理系统
1. 构造函数与析构函数的调用示例
通过示例可以观察到构造函数和析构函数的调用时机,以及在程序执行的不同阶段存在的对象数量。初始时没有 Box 对象,可通过静态的 getObjectCount() 成员获取对象计数。创建 box1 和 box2 后,存在两个对象。在 for 循环中,每次迭代创建一个新对象,在当前迭代结束且输出其体积后该对象被销毁。循环结束后,仅剩下最初的两个对象。最后,通过 make_shared<Box>() 函数在堆上创建一个新对象,可使用智能指针调用 getObjectCount() 。当 main() 结束时,会调用三次析构函数销毁剩余的三个 Box 对象。
若未定义默认构造函数、默认拷贝构造函数和析构函数,编译器会自动添加这些成员。
2. 类对象的指针和引用
2.1 指针的使用方式
可以像使用基本数据类型的指针和引用一样,定义和使用类对象的指针和引用。类对象的指针和引用在面向对象编程中至关重要,各有优势。指针的使用方式有以下三种:
1. 调用对象操作 :使用 -> 运算符调用对象的函数。
2. 作为函数参数 :避免按值传递时的隐式复制,提高程序效率,尤其对于大型对象。
3. 作为类
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



