万能百科  > 所属分类  > 

●试题八 阅读以下说明和C++代码,将解答写入答题纸的对应栏内。 【说明】 源程序文件vectorClass.

●试题八

阅读以下说明和C++代码,将解答写入答题纸的对应栏内。

【说明】

源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。

1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。

2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。

3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件vectorClass.cpp清单如下:

#include <iostream.h>

class vector

{

int a;

int b;

public:

vector( (1) ): (2)

{

}

void input(int x,int y)

{ (3)

}

void output()

{

cout<<'('<<a<<','<<b<<")"<<endl;

}

friend double Multiply(vector &x,vector &y);

};

double Multiply(vector &x,vector &y)

{

double c;

(4)

return c;

}

void main()

{

vector x(10,20),y;

double d;

y.input(2,3);

d=Multiply(x,y);

cout<<d<<endl;

}

程序输出结果是: (5) 。

正确答案:

●试题八【答案】 (1)int x=0,int y=0(2)a(x),b(y)(3)b=x; a=y(4)c=x.a*y.a+x.b*y.b(5)70【解析】注意参数默认值的书写方法。分别对a,b赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用"."操作符。x.a=10;y.a=3;x.b=20;y.b=2,所以c=70。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签