一、一个例子:
#include <iostream>
using namespace std;
class Person
{
public:
Person(){cout<<"Person类的构造方法执行了!"<<endl;id = 100;}
void GetId(){cout<<"id是:"<<id<<endl;}
private:
int id;
};
int main()
{
Person *p = new Person;//定义指针p并将Person对象的堆内存地址赋给指针p,new Person调用了Person对像的无参构造方法
p->GetId();//使用指针p访问Person对象的方法。
return 0;
}
二、释放对象所占用的堆内存,使用delete关键子删除p指针所指向的对象的堆内存空间。
#include <iostream>
using namespace std;
class Person
{
public:
Person(){cout<<"Person类构造方法被执行了!"<<endl;id = 300;}//无参构造方法
~Person(){cout<<"Person类析构方法被执行了!"<<endl;}//析构方法
int GetId(){return id;}
private:
int id;
};
int main()
{
Person *p = new Person;
cout<<"此人的id是:"<<p->GetId()<<endl;
delete p;//使用delete关键字删除当前p指针所指向的Person对象堆内存
return 0;
}