使用VC6打开考生文件夹下的工程ms9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 4,5 20 源程序文件test9_1.cpp清单如下: #incl

admin2012-05-11  33

问题 使用VC6打开考生文件夹下的工程ms9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
   4,5
   20
   源程序文件test9_1.cpp清单如下:
       #include<iostream.h>
       class A
       {
       protected:
        int n,m;
       public:
        void set(int a,int b){m=a; n=b;)
        void  show(){cout<<m<<","<<n<<endl;)
       /**********found*********/
       }
       class B:public A
       {
        int s;
       public:
        void set(){s=m*n;)
        void shows(){cout<<s<<endl;)
       };
       void main()
       {
        B  b;
       /**********found**+******/
        b.set();
        b.show();
        b.set();
       /*********found**********/
           b.show();
       }

选项

答案(1)错误:} 正确:}; (2)错误:b.set(); 正确:b.A::set(4,5); (3)错误:b.show(); 正确:b.shows();

解析 (1)主要考查考生对类定义格式的掌握,类的结尾应该使用“;”;
(2)主要考查考生对基类与派生类函数调用关系的掌握,根据所要求的输出结果,应该调用的函数为类A的set,而不是类B自身的set函数,应该避免调用的二义性;
(3)主要考查考生对继承与派生的理解,由所要求输出结果可知正确:b.shows()。
转载请注明原文地址:https://jikaoti.com/ti/9FkiFFFM
0

最新回复(0)