#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; }