问题
填空题
下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。
class MyClass
int *x;
public:
MyClass(int a) :
~MyClass();
;
MyClass::MyClass(int a)
【12】 ;
MyClass::~MyClass()
【13】 ;
答案
参考答案:[12] x=newint(a) [13]deletex
解析: 本题考核new和delete的使用。由题可知,在类MyClass的构造函数中,是申请内存空间,并让指针x指向构造函数的行参a。所以构造函数的函数体应该为“x=new int(a) ;”。在类MyClass的析构函数中,是释放类的私有成员,即指针变量x,所以析构函数的函数体应该为“deletex;”。