使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor,i=0, Destructor 注意:错误的语句在//* * * * * * * *

admin2013-10-15  4

问题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为
    Constructor,i=0,
    Destructor
    注意:错误的语句在//* * * * * * * * error* * * * * * * *的下面,修改该语句即可。
试题程序:
#include
class TC
{
  int i:
  public:
  TC():
  void display();
  ~TC():
};
//* * * * * * * * error* * * * * * * *
TC:TC()
{
cout<<"Constructor"<<",";
i=0;
}
//* * * * * * * * error* * * * * * * *
TC:display()
{
cout<<"i="<}
//* * * * * * * * error* * * * * * * *
TC:TC()
{
cout<<"Destructor"<}
void main()
{
TC a:
a.display();
}

选项

答案(1)应改为“TC::TC()”。 (2)应改为“void TC::display()”。 (3)应改为“TC::~TC()”。

解析 在类的外部定义成员函数时,必须在成员函数前面加上类名和作用域运算符“::”作用域运算符用来表示某个成员属于哪个类,使用格式为“(类名)::(成员函数>((参数函数)),因此第1处应改为“TC::TC()”,默认构造函数没有参数。由第2处“TC::display()”后的语句看,这是在类外实现TC函数,因此也有作用域运算符使用错误问题,display函数返回值为void,因此第2处的语句应改为“void TC::display()”。由第3处的语句“TC::TC()”可知,显然这里是在类外实现析构函数,析构函数是一个特殊的函数,它的名称和类名相同,并在前面加“~”字符,用来与构造函数加以区别,因此第3处的语句应改为“TC::~TC()”。
转载请注明原文地址:https://jikaoti.com/ti/tTXiFFFM
0

随机试题
最新回复(0)