●试题六 阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。 【说明】 ①为类Ci
●试题六
阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。
【说明】
①为类Circle增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。
②为类Circle增加一个成员函数print(),使得可以输出有关圆的信息,比如下列程序
Circle c;
C.SetRadius (5) ;
C.Print();
将输出:The circle has radius of 5!
③完成友元函数void CompareR(Circle *c1,Circle *c2)的定义,在屏幕中输出c1与c2比较radius大小结果,要求使用if-else结构完成。
输出结果如下:
The circle has radus of 5!
The circle has radius of 10!
c1<c2
源程序文件test7_3.cpp清单如下:
#include<iostream.h>
class Circle{
public:
Circle():radius (5) {}
(1)
void SetRadius(int r) { radius=r; }
int GetRadius() { return radius; }
(2)
friend void CompareR(Circle *c1,Circle *c2);
private:
int radius;
};
void CompareR(Circle *c1,Circle *c2)
{
(3)
cout<<"c1>c2"<<endl;
else
if ((c1->GetRadius())==(c2->GetRadius()))
cout<<"c1=c2"<<endl;
else
if ((c1->GetRadius())<(c2->GetRadius()))
cout<<"c1<c2"<<endl;
}
void main()
{
Circle c1;
c1.SetRadius (5) ;
c1.Print();
Circle c2 (10) ;
c2.Print();
CompareR(&c1,&c2);
}
●试题六
【答案】
(1)Circle(int rad):radius(rad){}
(2)void Print(){cout<<"The circle has radius of "<<radius<<"!\n";}
(3)if ((c1->GetRadius())>(c2->GetRadius()))
【解析】本题考查成员函数的定义与实现,友元函数,if分支语句等知识点。友元函数的类体外的定义与一般函数一样,注意(3)中if-else的使用,else总是与其最近的那个if配对使用的,书写时最好使用缩进格式,将配对的if-else对齐,以免出错。
如图所示,A物静止在水平桌面上,所挂砝码质量为0.6kg,弹簧示数为2N,滑轮摩擦不计.求:轻轻去掉 物理 2020-03-30 …
皮鞋尺码有“厘米”和“码”两种表示方法,请根据下表中数据之间的关系填空.13.5厘米19厘米20厘 其他 2020-04-06 …
●以下编码方法中, (12) 属于熵编码。(12)A.哈夫曼编码B.小波变换编码C.线性预测编码D. 计算机类考试 2020-05-26 …
●以下编码方法中,(36)属于熵编码。(36)A.哈夫曼编码B.小波变换编码C.线性预测编码D.行程 计算机类考试 2020-05-26 …
游程长度编码是不是游程编码 其他 2020-06-12 …
关于天平量程和称量量程是铭牌上标明的数.称量是指天平能够测量的物体质量的最大值.问:称量是什么加什 物理 2020-06-23 …
给你一架托盘天平和一把刻度尺,天平没有砝码,测出天平游码的质量,写出测量过程和计算式. 物理 2020-07-01 …
小丽同学研究动滑轮的使用特点,所用的钩码每个重0.5牛.她利用动滑轮将钩码缓慢提升,实验过程如图所 其他 2020-07-11 …
大家帮忙和我算一下这一道题。要写过程……号码分别为101,126,173,193的四个运动员进行乒 其他 2020-07-18 …
vfp程序改错题从键盘上输入的5个数,并统计其偶数的个数.在编写的表单事件Form1.load中有2 其他 2020-12-31 …