c++在构造函数中开辟内存空间堆

c++在构造函数中开辟内存空间堆,我们可以将类的数据成员定义为一个指针,然后再构造函数中开辟新的空间,将该空间的地址赋值给指针。而在析构函数中释放该内存。

#include <iostream>
using namespace std;

class A
{
public :
A()
{
cout<<”在堆中创建对象”<<endl;
i =new int(999);
}
~A(){
cout<<”析构函数运行了!”<<endl;
delete i;//在析构函数中删除i的内存空间
}
int get()const{return *i;}
private:
int *i;
};

int main()
{
A *b = new A();//c++在堆中创建对象实例
cout<<(*b).get()<<endl;//输出堆中的数据成员,访问堆中的成员的方法为(*b).get()
cout<<b->get()<<endl;//第二种简便方法输出堆中的数据成员,访问堆中的成员的方法为成员指针运算符“->”
delete b;//c++在堆中删除对象

} 本文链接地址: c++在构造函数中开辟内存空间堆