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

关于对象数组大小

#include <iostream>

using namespace std;

class Coordinate

{

    

public:

Coordinate()

{


}

// 打印坐标的函数

void printInfo()  

{

   cout<<"("<<m_iX<<","<<m_iY<<")"<<endl;

}

public:

int m_iX;

int m_iY;

};

int main(void)

{

//定义对象数组

//定义代码数组Coordinate coorArr[2];时,输出坐标为(1,2),(3,4),正确

//定义代码数组如下有coorArr[0]、coorArr[1]两个对象时,输出坐标为(1,2),(1,4),错误

    Coordinate coorArr[1]; 

coorArr[0].m_iX=1;

coorArr[0].m_iY=2;

coorArr[1].m_iX=3;

coorArr[1].m_iY=4;



//遍历数组,打印对象信息

for(int i = 0; i < 2; i++)

{

coorArr[i].printInfo();

}

return 0;

}


正在回答

4 回答

Coordinate coorArr[1];中括号中的常量表示定义了几个元素, 1表示定义了一个元素。Coordinate coorArr[0],表示定义了零个元素,系统会报错。 

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

milletluo 提问者

非常感谢!
2016-11-18 回复 有任何疑惑可以回复我~

对的,定义的时候,方括号中的数值表示的是大小。调用的时候表示的是数组的第几个元素,从0开始奥!

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

Coordinate coorArr[1] 这应该是Coordinate coorArr[2]吧


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

需要对数据成员赋值



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

举报

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

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

进入课程

关于对象数组大小

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