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

admin2019-04-18  26

问题 使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:
    TestClass2
    TestClass3
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在∥********error********的下面。
#include
class TestClassl
{
public:
    virtual void fun()=0;
  };
  class TestClass2:public TestClassl
  {
    ∥********error********
    int fun()
    {
    us ing namespace std ;
    cout<<"TestClass2”<    }
  };
  class TestClass3:public TestClassl
  {
  ∥********error********
    void fun()
    {
    ∥********error********
    cout<    }
};
void main()
{
    TestClassl*P;
    TestClass2 obj 1;
    TestClass3 obj 2 ;
    P=&obj 1;
    P一>fun(),
    obj 2.fun();
    return;
  }

选项

答案(1)void fun() (2)添加语句:publ.ic: (3)std::cout<<“TestClas s3 ”<
解析 本题程序中的功能为输出字符串TstClass2和TestClass3。从己定源程序的main主函数开始入手,可以看出程序通过定义类的对象,利用类中定义的成员函数完成题目中要求的输出。
解题思路
(1)fun()函数是没有返回值的,而第1个标识下的“intfun()”语句中定义的fun()函数是有int型返回值的,所以将其修改为“void fun()”。
(2)第2个标识下的fun()函数,没有被定义为public型,所以外部其他成员无法访问,只能是类本身访问,所以添加“public:”。
(3)在程序中用到C++标准库时,要使用std标准命名空间进行限定。第三个标识下cout为标准库函数,所以要声明cout是在命名字间std中定义的流对象,即为“std::cout<<"TestClass3”
转载请注明原文地址:https://kaotiyun.com/show/ZpAp777K
0

随机试题
最新回复(0)