使用VC6打开考生文件夹下的工程test22_1,此工程包含—个源程序文件test22_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为: 6/15 3/4 9/19 源程序文件test22_1.cpp清单如下

admin2010-02-08  24

问题 使用VC6打开考生文件夹下的工程test22_1,此工程包含—个源程序文件test22_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:
   6/15
   3/4
   9/19
   源程序文件test22_1.cpp清单如下:
       #include<iostream.h>
       class Franction
       {
        int nume;
        int deno;
       public:
        Franction FranAdd(const Franction& x)
        {
          this->nume+=x.nume;
          this->deno+=x.deno;
       /****************found*******************/
          return this;
        }
         void InitFranction()  {nume=0; deno=l;}
         void InitFranction(int n, int d)  {nume=n; deno=d;}
         void FranOutput()  {cout<<nume<<’/’<<deno<<endl;}
       };
       void main()
       {
         Franction *a=new Franction;
         Franction *b=new Franction;
         a->InitFranction(6,15);
         b->InitFranction(3,4);
         a->FranOutput();
         b->FranOutput();
         Franction c;
       /****************found*******************/
         c->InitFranction();
       /****************found*******************/
         c=a->FranAdd(b);
         c. FranOutput();
       }

选项

答案(1)错误:return this; 正确:return*this; (2)错误:c->InitFranction(); 正确:c.InitFrancfion(); (3)错误:c=a->FranAdd(b); 正确:c=a->FranAdd(*b);

解析 (1)主要考查考生对于this指针和函数返回值的掌握,它是指向正在活动的对象自己的指针,该函数应该返回Franction类型的对象,即应该使用"*";
(2)主要考查考生对于对象和对象指针的使用,对象指针调用成员函数使用符号“->”,而对象调用成员函数使用“.”;
(3)主要考查考生对于函数参数使用的掌握,FranAdd()使用对象的引用作为形参,所以实参应该是对象本身。
转载请注明原文地址:https://kaotiyun.com/show/87ID777K
0

最新回复(0)