C++对象指针实践
1.题目如下:
2.来吧,展示:
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 << "~Coordinate" << endl; }
demo.cpp
#include <iostream> #include "Coordinate.h" #include <stdlib.h> using namespace std; int main(void) { //从堆中实例化 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"); return 0; }
3.运行结果如下:
4.注意我们是从堆中实例化对象的,需要最后销毁掉
5.//从栈中实例化
//通过p2操作p1
//从栈中实例化 Coordinate p1; //通过p2操作p1 Coordinate *p2 = &p1; p2->m_iX = 10; p2->m_iY = 20; (*p2).m_iX = 10; cout << p1.m_iX << endl; cout << p1.m_iY << endl;
6.运行结果如下:
希望能帮到大家,问你们要一个赞,你们会给吗,谢谢大家
版权声明:本文版权归作者(@攻城狮小关)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~
交流加Q:1909561302
CSDN地址https://blog.csdn.net/Mumaren6/