问题 填空题

使用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()使用对象的引用作为形参,所以实参应该是对象本身。

单项选择题
单项选择题