亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問從堆中實例化,輸出結果錯誤怎么改

#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=new Coordinate[2];

? ? coorArr->m_iX=1;

? ? coorArr->m_iY=2;

? ? coorArr++;

? ? coorArr->m_iX=3;

? ??

? ? coorArr->m_iY=4;


//遍歷數組,打印對象信息

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

{

? ??

? ??

coorArr[i].printInfo();

? ? ? ? coorArr--;

}

coorArr++;

delete []coorArr;

coorArr=NULL;

return 0;

}


正在回答

3 回答

int main(void)

{

//定義對象數組

? ? Coordinate *coorArr = new Coordinate[2];

? ? coorArr->m_iX = 1;

? ? coorArr->m_iY = 2;

? ? coorArr++;

? ? coorArr->m_iX = 3;

? ? coorArr->m_iY = 4;

? ??

? ? //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();

coorArr-=2;

}

coorArr++;

delete []coorArr;

coorArr = NULL;

return 0;

}

循環里面指針要減2,不過最后結果會倒著打印出來。

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

?//定義對象數組

??? Coordinate *coorArr = new Coordinate[2];
??? 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();
??? }
??? delete[]coorArr;
??? coorArr = NULL;
??? return 0;


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

要用coordinate[0].m_iX ? coordinate[1].m_iX 這樣的才能準確的給每個對象賦值吧 ?

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

舉報

0/150
提交
取消
C++遠征之封裝篇(下)
  • 參與學習       70902    人
  • 解答問題       534    個

封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通

進入課程

請問從堆中實例化,輸出結果錯誤怎么改

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號