为了账号安全,请及时绑定邮箱和手机立即绑定

后置运算符重载执行时执行了两次析构函数,是因为old();么?

Tank Tank::operator++(int)
{
    Tank old(*this);
    m_iLevel++;
    return old;
}

正在回答

1 回答

进入main函数是,实例化了一个对象,而在上面那个运算符重载函数中又定义了一个临时对象,故需要调用调用两次析构函数(个人观点)


0 回复 有任何疑惑可以回复我~
#1

silkwormstock 提问者

可是每次调用tank1++;的时候都会执行两次析构函数
2016-02-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

后置运算符重载执行时执行了两次析构函数,是因为old();么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信