您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2015-08-25 19:23 357 查看
对象指针,就是有一个指针指向对象

通过下面的例子来讲解

我们定义一个坐标类,有两个数据成员。定义之后就可以进行实例化操作。

class Coordinate

{

public:

int m_iX;

int m_iY;

};


如果从堆中进行实例化

Coordinate *p=new Coordinate;

通过new运算符,进行对象的实例化

两种显示方法p->m_iX;p->m_iY

下面这段代码就是访问数据成员的方法

int main(void)
{
Coordinate *p new Coordinate;
p->m_iX=10;//(*p).m_iX=10;
p->m_iY=20;//(*p).m_iY=20;
delete p;
p=NULL;
return 0;
}


在使用完成之后,一定要用delete删除,以避免内存泄露。一下是相关代码

Coordinate.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<<"~Coordiante"<<endl;
}

```demo.cpp

<div class="se-preview-section-delimiter"></div>


这里写代码片

“`

上面的代码中用到了两种访问数据的方法。两者之间没有区别,可以交换使用。

以上就是对象指针的相关学习

#include<iostream>
#include<stdlib.h>
#include "Coordinate.h"
using namespace std;
/*************************************************
1.定义Coordiante类
数据成员: m_iX和m_iY
声明对象指针 并通过指针操控对象
计算两个点,横纵坐标和
**************************************************/
int main ()
{
Coordinate  *p1=NULL;
p1=new Coordinate;
Coordinate *p2=new Coordinate();
p1->m_iX=10;
p1->m_iY=20;
(*p2).m_iX=30;
(*p2).m_iY=40;
cout<<p1->m_iX+(*p2).m_iX<<endl;
cout<<p1->m_iY+(*p2).m_iY<<endl;
delete p1;
p1=NULL;
delete p2;
p2=NULL;
system("pause");
}


上面的代码中用到了两种访问数据的方法。两者之间没有区别,可以交换使用。

以上就是对象指针的相关学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: