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;
}
#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;
}
相关文章推荐
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
- 改善C++ 程序的150个建议学习之建议34:用智能指针管理通过new创建的对象
- JavaScript学习笔记,创建对象,属性访问
- c++学习之对象指针
- C++学习笔记(八):函数重载、函数指针和函数对象
- 关于C++智能指针的学习与总结
- OOP编程比较学习__C++ & JAVA (一)定义类和创建对象
- c++ 局部对象指针及到底是在堆上创建的对象还是在栈上创建的?
- C++学习:对象和类详细总结
- C++学习笔记之——c++多态性的类指针总结
- JNI学习笔记(四)JNI中本地语言创建Java对象并且访问具体方法(附例子)
- C++学习笔记(13)——利用对象、引用、指针调用虚函数
- C++利用类静态变量,实现伪类对象空指针成功访问含有成员变量的成员函数而不崩溃
- C++学习总结_为什么要使用指针
- C++学习笔记--对象创建
- c++关于数组,指针的学习总结
- JVM学习02——对象的创建与访问
- C++学习总结_指针修改变量的数据
- Python学习总结,python入门,python创建对象
- Yii学习总结之数据访问对象 (DAO)