m0_68391426 2022-06-07 14:53 采纳率: 100%
浏览 21
已结题

c++无参构造函数出了一点问题想不明白

#include
using namespace std;
class Tree
{
public:
Tree(int ages=14){//构造函数初始化
this->ages=ages;
}
Tree(){//无参构造函数
ages=14;
}
~Tree(){};//析构函数
void grow(int years){//成员函数增加树龄
ages=ages+years;
}
void show_ages(){//显示树龄
cout << ages << endl;
}

private:
int ages;
};

int main()
{
Tree tree;
tree.grow(4);
tree.show_ages();
return 0;
}

应该是无参构造函数那里出了问题,删去就能运行了,但创建对象的时候是没有参数的啊应该调用无参构造函数才对啊,应该是删去才报错而不删才能运行啊,有点想不明白

img

  • 写回答

1条回答 默认 最新

  • ...404 Not Found 2022-06-07 15:27
    关注

    你还写了一个有默认值的有参构造,两个都可以无参调用,系统不知道用哪个

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月12日
  • 创建了问题 6月7日