【发布时间】:2016-02-08 05:14:35
【问题描述】:
希望我的帖子能找到你。
我已经尝试了一些东西,我需要一个解释
我为复数创建了一个类,在构造函数实现中打印单词“constructor”,在析构函数实现中打印单词“destructor”。
我已经声明了 3 个对象,将它们按值发送到一个非类成员函数,该函数将类中的两个对象作为参数并返回一个类对象作为两个复数的总和
我发现,析构函数调用的次数并不等于构造函数调用的次数,实际上它们更多。
我有 2 个构造函数调用和 4 个析构函数调用。
有人对这件事有什么解释吗?
非常感谢您的合作和帮助。
【问题讨论】:
-
还定义复制构造函数并打印它的调用。可能你会用这种方式平衡建造和破坏的数量。
-
您是在所有构造函数(默认构造函数、复制构造函数和移动构造函数)中打印日志还是仅在其中一个中打印日志?
-
我已经实现了默认构造函数和一个带有 2 个参数的构造函数,我只使用了它们,并且在它们中都放置了打印指令。
-
@101010 :即使我没有使用它们?
-
您可能正在隐式使用它们。阅读rule of five。
标签: c++ class oop constructor destructor