C++中的堆对象

    技术2022-05-11  32

    #include <iostream>  using namespace  std;class  Tree { public :    Tree(int height) //this->     {         cout<<"tree object is creating"<< endl;         this->height =  height;     }    ~ Tree()     {         cout<<"tree object is deleting"<< endl;     }    void  display()     {         cout<<"this tree is "<<height<<" meters high"<< endl;     } private :    int  height; };void  main() {     Tree*  tree ;    tree= new Tree (100);//堆对象      tree-> display();     delete tree; } 

    运行结果:

    tree object is  creatingthis tree is 100  meters hightree object is deleting

    Tree 是定义的类 *tree 是指向这个类型的一个指针,但它现在是空的 new Tree(100) 是以堆对象建立一个类的实例,参数100初始化它,并让tree指向它

    最后,用new建立的堆对象,当然也要用回收堆对象的delete清除,释放它占用的空间。

    注意:Tree* tree = new Tree (100)调用下面的构造函数:

        Tree(int height) //this->     {         cout<<"tree object is creating"<< endl;         this->height =  height;     }

     


    最新回复(0)