问题 问答题

使用VC6打开考生文件夹下的工程test15_1,此工程包含一个源程序文件test15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:
My object has member 7
源程序文件test15_1.cpp清单如下:
#include<iostream.h>
class MyClass

public:
MyClass(int mem)member=mem;
~MyClass()
int GetAge()const return member;
private:
int member;

/*****+********+** found *************/
void main()

int mem=7;
/*************** found ***************/
MyClass myObj=MakeObject(mem);
cout<<"My object has member"<<myObj->GetAge()<<endl;
/***************** found ****************/
delete;

MyClass *MakeObject(int mem)

MyClass *pMyClass=new MyClass(mem);
return pMyClass;

答案

参考答案:(1)添加函数定义MyClass *MakeObject(int mem);
(2)错误:MyClass myObj=MakeObject(mem);
正确:MyClass *myObj=MakeObject(mem);
(3)错误:delete;
正确:delete myObj;

解析:
(1)主要考查考生对于函数定义规则的理解,在使用前先定义,这是规定;
(2)主要考查考生对于指针的掌握,因为函数返回值为指针,所以返回值必须赋值给一个指针类型的变量;
(3)主要考查考生是否会使用delete释放空间,使用delete删除一个指针时,只需要直接把指针变量的名称写在后面。

读图填空题
单项选择题