问答题 使用VC6打开 下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
init TestClass
del TestClass
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
#include<iostream.h>
class TestClass
{
//********error********

//********error********
int TestClass(){cout "initTestClass" endl;};
//********error********
void ~TestClass(){cout "delTestClass"
【正确答案】
【答案解析】(1)添加语句:public:
(2)TestClass(){cout "init TestClass" endl;};
(3)~TestClass(){cout "del TestClass" endl;);
答案考生文件夹 [解析] 本题的功能是分别利用构造函数和析构函数中的输出语句,输出“init TestClass”和“del TestClass”字符串。从已定源程序的main主函数开始入手,可以看出程序首先通过类TestClass中的TestClass构造函数实现各种输出。
(1)打开modi1.cpp,调试程序,显示错误提示为第一标识下“modi1.cpp(13):error C2248:"TestClass::TestClass":cannot access private member declared in class"TestClass"”,构造函数由于是私有的,无法获得,所以应该定义为public型,即第1个标识下添加“public:”。
(2)构造函数首部的一般形式为:构造函数名(形参列表),构造函数没有返回值,所以定义构造函数时不需要声明类型,所以“int TestClass(){cout "init TestClass" endl;};”语句修改为“TestClass(){cout "init TestClass" endl;};"。
(3)析构函数的名字是类名的前面加一个“~”符号,所以“void~TestClass(){cout "del TestClass" endl;};”修改为“~TestClass(){cout "del TestClass"