C++学习之对象数组篇
2016-01-13 15:57
232 查看
#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];
// coorArr[0].m_iX = 1;
// coorArr[0].m_iY = 2;
// coorArr[1].m_iX = 3;
// coorArr[1].m_iY = 4;
Coordinate * p = new Coordinate[3];
p->m_iX = 1;
p[0].m_iY = 2;
p++;
p->m_iX = 3;
p[0].m_iY = 4;
p[1].m_iX = 5;
p[1].m_iY = 6;
p++;
//遍历数组,打印对象信息
for(int i = 0; i < 3; i++)
{
p->printInfo();
p--;
}
p++;//注意这句话很有必要,不管怎么操作指针p,最后要delete的时候,必须让p重新指回对象数组这段堆内存的第一个位置,即起始位置,不然释放内存时候就会出错。
delete []p;
return 0;
}
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];
// coorArr[0].m_iX = 1;
// coorArr[0].m_iY = 2;
// coorArr[1].m_iX = 3;
// coorArr[1].m_iY = 4;
Coordinate * p = new Coordinate[3];
p->m_iX = 1;
p[0].m_iY = 2;
p++;
p->m_iX = 3;
p[0].m_iY = 4;
p[1].m_iX = 5;
p[1].m_iY = 6;
p++;
//遍历数组,打印对象信息
for(int i = 0; i < 3; i++)
{
p->printInfo();
p--;
}
p++;//注意这句话很有必要,不管怎么操作指针p,最后要delete的时候,必须让p重新指回对象数组这段堆内存的第一个位置,即起始位置,不然释放内存时候就会出错。
delete []p;
return 0;
}
相关文章推荐
- C风格字符串与C++风格字符串
- 也谈C++中char*与wchar_t*之间的转换
- 单链表结点删除 C语言实现
- TinyXML:一个优秀的C++ XML解析器
- 重学C++ (五) 函数
- Google C++命名规范
- C语言贪心算法,关于零钱取整问题
- 【C语言提高52】链表的基本操作
- c/c++笔记
- C/C++ void及void指针
- C、C++动态分配函数暨几种参数传递疑难解析
- C++中的 virtual destructor
- C++中的虚函数表
- C++ Primer Plus 学习笔记(三)--编程练习6
- c++内存分配(new和delete)
- C++中的多态与虚函数的内部实现
- LevelDB windows vs2013 c++编译和测试
- 【C语言提高51】链表基本概念与静态链表
- CodeForces 413A Data Recovery
- C语言学习之字符串、字符和字节第三讲