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

正在回答

1 回答

看错误提示,我猜,你的 Coordinate 类自定义了构造器,而且有参数对吧,这样子导致默认构造器不提供了。而你在 Line 类的构造器(或构造器初始化类表)中都没有指定调用你自己定义的 Coordinate 类的构造器来初始化 m_coorA 和 m_coorB,系统尝试用无参的默认构造器,但发现不能用。就报错了。如果是这种情况,解决办法有两个:

(A,推荐)在 Line 的初始化类表中初始化 m_coorA 和 m_coorB,像这样

Line::Line(int x1, int y1, int x2, int y2):m_coorA(x1, y1), m_coorB(x2, y2)
{
    cout << "Line(int x1, int y1, int x2, int y2)" << endl;
}

(B)为 Coordinate 提供一个无参的构造器

能不能把 Coordinate 类也贴出来看看。

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

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

这是什么问题啊

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