C++ 对象成员指针

来源:互联网 发布:javascript cache 编辑:程序博客网 时间:2024/06/05 02:34

Coordinate.h

class Coordinate{public:     Coordinate(int x, int y);     ~Coordinate();     int getX();     int getY();private:     int m_iX;     int m_iY;};

Coordinate.cpp

#include<iostream>#include "Coordinate.h"using namespace std;Coordinate::Coordinate(int x, int y){      m_iX = x;      m_iY = y;      cout << "Coordinate(" << m_iX << "," << m_iY << ")" << endl;}Coordinate::~Coordinate(){     cout << "~Coordinate(" << m_iX << "," << m_iY << ")" << endl;}int Coordinate::getX(){      return m_iX;}int Coordinate::getY(){      return m_iY;}

Line.h

#include "Coordinate.h"class Line{public:      Line(int x1, int y1, int x2, int y2);      ~Line();      printInfo();private:      Coordinate *m_pCoorA;      Coordinate *m_pCoorB;};

Line.cpp

#include<iostream>#include "Line.h"using namespace std;Line::Line(int x1, int y1, int x2, int y2){      m_pCoorA = new Coordinate(x1, y1);      m_pCoorB = new Coordinate(x2, y2);      cout << "Line()" << endl;}Line::~Line(){      delete m_pCoorA;      m_pCoorA = NULL;      delete m_pCoorB;      m_pCoorB = NULL;      cout << "~Line()" << endl;}void Line::printInfo(){      cout << "(" << m_pCoorA->m_iX << "," << m_pCoorA->m_iY << ")" << endl;       cout << "(" << m_pCoorB->m_iX << "," << m_pCoorB->m_iY << ")" << endl;}


demo.cpp

#include<iostream>#include "Line.h"using namespace std;int main(){     Line *p = new Line(1, 2, 3, 4);     p->printInfo();     delete p;     p = NULL;     cout << sizeof(p) << endl;     cout << sizeof(Line) << endl;          return 0;}


0 0
原创粉丝点击