问答题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:init TestClassdel TestClass注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。#include<iostream.h>class TeStClass{//********error********//********error********int TestClass(){cout<<"init TestClass"<<endl;};//********error********void~TestClass(){cout<<"del TestClass"<<endl;};};void main(){TestClass obj;return;}
【正确答案】正确答案:(1)添加语句:public: (2)TestClass(){cout<<"init TestClass:<<endl;); (3)~TestClass()(cout<<"del TestClass"<<endl;};
【答案解析】解析:(1)打开modil.cpp,调试程序,显示错误提示为第一标识下“modil.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<<"iniit TestClass"<<endl;};”。 (3)析构函数的名字是类名的前面加一个“~”符号,所以“void~TestClass(){cout<<"del TestClass"<<endl;);”修改为“~TestClass(){cout<<"del TestClass"<<endl;};”。