使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。 程序输出: s1:n=20 s2:n=10 执行s3.add(s1,s2) s3:n=30

admin2013-10-15  15

问题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。
    程序输出:
    s1:n=20
    s2:n=10
    执行s3.add(s1,s2)
    s3:n=30
    s4:n=30
    注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//* * * * * * * * error* * * * * * * *
的下面。
    试题程序:
#include
class TC
{
int n;
public:
TC(){}
TC(int m)
{
  n=m:
}
//* * * * * * * * error* * * * * * * *
TC add(TC s1.s2)
{
  this->n=s1.n+s2.n;
//* * * * * * * * error* * * * * * * *
  return(this);
}
void disp()
{
  cout<<"n="<  }
  //* * * * * * * * error* * * * * * * *
}
void main()
{
TC s1(20),s2(10),s3,s4;
cout<<"s1:";
s1.disp();
cout <<"s2:";
s2.disp();
s4=s3.add(s1,s2);
cout<<"执行s3.add(s1,s2)\ns3:";
s3.disp();
cout<<"s4:";s4.disp();
}

选项

答案(1)应改为“TC add(TC s1,TC s2)”。 (2)应改为“return(*this);”。 (3)应改为“};”。

解析 本题中的变量“s2”没有声明类型,所以补充“s2”的类型,即“TC add(TC s1,TC s2)”。“this-)n=s1.n+s2.n;”语句中的this变量为指针变量,所以第2处的“return(this);”返回语句中的this变量,应该返回指针型,所以修改为“return(*this);”。C++中类的定义格式应为“class类名{};”,以分号为结尾,所以在第3处的类结尾处补充分号“;”,即修改为“};”。
转载请注明原文地址:https://jikaoti.com/ti/4vXiFFFM
0

最新回复(0)