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

在新类中如果用对象数组做成员,初始化赋值有问题

我在Line类中如果定义的成员是CoordA和CoordB,那用视频中的初始化方法确实是可以的。

但如果我定义的是Coordinate coord[2],然后将CoordA替换成coord[0],将CoordB替换成coord[1],其他的什么都没变,但程序会报错

class Line{

        public:Coordinate coord[2];

        public:Line(int x1,int y1,int x2,int y2):coord[0](x1,y1),coord[2](x2,y2){     }

};

就类似于这样,编译器会报错。但如果把coord数组换成两个独立的Coordinate对象又不会有任何问题。想知道是为什么,对象成员不能为对象数组吗?还是针对对象数组不能用初始化列表赋值,又或者我哪里写错了呢。

正在回答

1 回答

当对象数组做类的成员时,可以这样写构造函数:

Line(int x1,int y1,int x2,int y2){coord[0].m_iX=x1;coord[0].m_iY=y1;coord[1].m_iX=x2;coord[1].m_iY=y2;}


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

举报

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

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

进入课程

在新类中如果用对象数组做成员,初始化赋值有问题

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