欢迎使用CSDN-markdown编辑器

来源:互联网 发布:单片机push 编辑:程序博客网 时间:2024/05/01 13:12

对象指针,就是有一个指针指向对象
通过下面的例子来讲解

我们定义一个坐标类,有两个数据成员。定义之后就可以进行实例化操作。
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");}

上面的代码中用到了两种访问数据的方法。两者之间没有区别,可以交换使用。
以上就是对象指针的相关学习

0 0
原创粉丝点击