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次会调用的析构函数
}