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

再定义一个指针指向第一个元素,应该更简单

在实例化的时候写:Coordinate * q = p; 定义一个指针指向第一个元素,赋值的时候用户 p 赋值,遍历的时候有 q 遍历,则之后p指向第3个元素,q指向第一个元素,再delete 【】q 不就行了吗,在vs2017上运行,没有报错

#include <iostream>

#include "Coordinate.h"

using namespace std;


/*

定义Coordinate 类

数据成员:m_iX 和 m_iY

分别从堆中和栈中实例化长度为3的数组

给数组的元素赋值

遍历两个数组

*/


int main(void)

{

Coordinate * p = new Coordinate[3];

Coordinate * q = p;

p[0].m_iX = 1;

p->m_iY = 2;

p++;

p->m_iX = 3;

p->m_iY = 4;

p++;

p->m_iX = 5;

p->m_iY = 6;


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

{

cout << q[i].m_iX << " " << q[i].m_iY << endl;

}


delete[]q;

q = NULL;

p = NULL;


}


正在回答

1 回答

再让指针指向第一个元素不是更简单吗

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

举报

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

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

进入课程

再定义一个指针指向第一个元素,应该更简单

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号