使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: init TestClass del TestClass 注意:不要改动main函数,不能增行或删行,也不能更改程序的结

admin2016-10-28  14

问题 使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
init TestClass
del 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;};”。
转载请注明原文地址:https://jikaoti.com/ti/pFE0FFFM
0

最新回复(0)