动态空间分配

C语言中 使用malloc函数来动态申请存储空间, free函数 来释放 存储空间

C++也可以使用这些函数

c++也提供new delete 运算符来动态申请和释放 存储空间

#include <iostream.h>
class test
{	private:
		int x;
	public:
		int value_x( )    {   	return x;  }
		test( )           {  	cout<<"无参的构造函数"<<endl; }
		test(int n)       {  	x=n;  cout<<"带参的构造函数"<<endl; }
		~test( )       	  {  	cout<<"析构造函数"<<endl; }
};

//程序1:注意程序的执行结果
void main()
{
	test *p1;
	p1=new test; 	//执行new时自动调用无参的构造函数

	test *p2;
	p2=new test(99);  //执行new时自动调用带参的构造函数

	cout <<p2->value_x()<<endl;

	delete p1;     	//执行delete时会自动调用的析构函数
	delete p2;
} 




#include <iostream.h>
class test
{	private:
		int x;
	public:
		int value_x( )    {   	return x;  }
		test( )           {  	cout<<"无参的构造函数"<<endl; }
		test(int n)       {  	x=n;  cout<<"带参的构造函数"<<endl; }
		~test( )       	  {  	cout<<"析构造函数"<<endl; }
};

//程序实例2:注意程序的执行结果
void main()
{	test *p1;
	p1=new test[3]; 
		//执行new时3次调用无参的构造函数
	delete [ ]p1;
		 //执行delete时3次会调用的析构函数
}  




猜你喜欢

转载自blog.csdn.net/u010608296/article/details/80962237
今日推荐