qq_夜苓瑜_03894440
2017-08-15 21:51
Coordinate
Coordinate
Coordinate
Coordinate
Coordinate
Coordinate
coor_x3
coor_Y5
coor_x4198173
coor_Y0
coor_x0
coor_Y0
15
17
11
13
7
9
~Coordinate
~Coordinate
~Coordinate
sh: 1: pause: not found
~Coordinate
~Coordinate
你把// system("pause"); 中//注释去掉
demo.cpp
#include <iostream>
#include <stdlib.h>
#include "Coordinate.h"
using namespace std;
/*
对象数组
要求:
定义Coordinate类
数据成员:m_iX和m_iY
分别从栈和堆中实例化长度为3的对象数组
给数组中的元素分别赋值
遍历两个数组
*/
int main()
{
Coordinate coor[3];
coor[0].m_iX = 3;
coor[0].m_iY = 5;
Coordinate *p =new Coordinate[3];
p->m_iX = 7;
p[0].m_iY = 9;
p++;
p->m_iX = 11;
p[0].m_iY=13;
p[1].m_iX=15;
p++;
p->m_iY = 17;
for(int i=0; i<3; i++)
{
cout << "coor_x" << coor[i].m_iX << endl;
cout << "coor_Y" << coor[i].m_iY << endl;
}
for(int j=0;j<3;j++)
{
cout << p->m_iX << endl;
cout << p->m_iY << endl;
p--;
}
p++;//此时的p需要++,指向数组的第一个元素
delete []p;//
p=NULL;
// system("pause");
return 0;
}
Coornadite.h
class Coordinate
{
public:
Coordinate();
~Coordinate();
public:
int m_iX;
int m_iY;
};
Coordinate.cpp
#include <iostream>
#include "Coordinate.h"
using namespace std;
Coordinate::Coordinate()
{
cout << "Coordinate" << endl;
}
Coordinate::~Coordinate()
{
cout << "~Coordinate" << endl;
}
栈的空间在你按下任意键之后释放, 代码贴出来看看
一个是定义在栈上面的三个,也需要释放空间? delete不是只释放new的空间么?
你定义了6个元素的Coordinate对象数组。
C++远征之封装篇(下)
70915 学习 · 514 问题