C++对象指针实践

    科技2025-04-11  12

    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 博客园地址https://www.cnblogs.com/guanguan-com/

     

    Processed: 0.008, SQL: 8