您的位置:首页 > 编程语言 > C语言/C++

C++学习总结_指针访问堆内存中创建的对象

2011-04-03 11:34 411 查看
一、一个例子:

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: