首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
admin
2019-06-05
88
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是double类型的变量。请在注释//********1********后添加适当的语句。
(2)添加复数类CComplex的带一个参数的构造函数,分别将real和imaginary赋值为参数r和0。请在注释//********2********后添加适当的语句。
(3)完成对运算符“+”的重载,分别对复数的实部和虚部相加。请在注释//********3********后添加适当的语句。
(4)完成复数的友元函数Equal(CComplex & c1,CComplex & c2)的定义,如果两个数的实部和虚部都相等,则返回1,否则返回0,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 class CComplex
3 {
4 private:
5 //********1********
6
7 public:
8 CComplex()
9 {
10 real=imaginary=0;
11 }
12 CComplex(double r) {
13 //********2********
14
15 }
16 CComplex operator+(CComplex&c1) {
17 //********3********
18
19 temp.real=real+c1.real;
20 temp.imaginary=imaginary+c1.imaginary;
21 return temp;
22 }
23 void Set(int re,int imag)
24 {
25 real=re;
26 imaginary=imag;
27 }
28 friend bool Equal(CComplex & c1,CComplex & c2);
29 };
30 bool Equal(CComplex & c1,CComplex & c2)
31 {
32 //********4********
33
34 }
35 int main()
36 {
37 CComplex complex1(5);
38 CComplex complex2;
39 cout<<Equal(complex1,complex2)<<endl;
40 complex2.Set(5,0);
41 cout<<Equal(complex1,complex2)<<end1;
42 return 0;
43 }
选项
答案
(1)添加语句:double real,imaginary; (2)添加语句:real=r;imaginary=0; (3)添加语句:CComplex temp; (4)添加语句:return(c1.real==c2.real )&& (c1.imaginary =c2.imaginary);
解析
程序中定义了类CComplex,含有私有成员变量real和imaginary,分别用来表示复数的实部和虚部,CComplex类有两个构造函数、对运算符“+”的重载、Set(int re,int imag)可改变实部和虚部的值、友元Equal(CComplex& c1,CComplex& c2)函数可判断两个CComplex对象是否相等。
(1)第1个标识下完成定义复数类CComplex的私有成员变量real和imaginary,均为double类型的变量,因此第1个标识下应添加“doublereal,imaginary;”。
(2)构造函数CComplex(double r)完成类的初始化,该构造函数有一个参数,分别将real和imaginary赋值为参数r和0,因此第2个标识下应添加“real=r:imaginary=0;”。
(3)编译程序可知,变量temp没有定义,由operator+(CComplex& c1)函数体的语句可知,temp为函数的返回值,而operator+(CComplex& c1)函数体函数返回CComplex类对象,故在第3个标识下补充temp定义,即“CComplex temp;”。
(4)即判断两个对象c1和c2的实部和虚部是否均相等,两个逻辑结果相与即可,因此第4个标识下应添加“return(c1.real==c2.real)&&(c1.imaginary==c2.imaginary);”。
转载请注明原文地址:https://kaotiyun.com/show/v18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。A)m-2B)m-1C)mD)m+1
下面关于常成员函数的说法中正确的是()。A)常成员函数不能修改任何的数据成员B)常成员函数只能修改一般的数据成员C)常成员函数只能修改常数据成员D)常成员函数只能通过常对象来调用
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
下列的方法中,不属于软件调试技术的是()。A)强行排错法B)集成测试法C)回溯法D)原因排除法
下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classFraction{//"分数"类public:Fractio
请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。#include<iostream>usingnamespacestd;classBase{public:voidprint(){c
有如下语句序列:intx=-10;while(++x){}运行时while循环体的执行次数为______。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
随机试题
经口腔给药的有
热射病的主要临床特征是()
某220kV变电站,最终规模为2台180MVA的主变压器,额定电压为220/110/35kV,拟在35kV侧装设并联电容器进行无功补偿。请回答下列问题。本站35kV母线三相短路容量为700MVA,电容器组的串联电抗器的电抗率为5%,请计算发生3次谐波谐
在调查个人汽车贷款担保措施时,面临的操作风险有()。
供求理论是市场运行的基础理论,也是房地产市场运行和价格变动的核心理论。如果想知道某项政策措施或事件将如何影响房地产市场走向和房地产价格涨落,应当首先分析它将如何影响房地产的()。
法院受理破产案件后,以破产企业为债务人的尚未审结且另有连带责任人的经济纠纷案件,应当()。
构建社会主义和谐社会的原则有哪些?
某单位工会为了深入了解职工的工作状态,关心职工的身心健康,举办了一次“快乐工作”主题座谈会。作为一名新参加工作者。请你模拟在座谈会上作一个简短的即席讲话。
……当黥者,髡钳为城旦舂;当劓者,笞三百;当斩左趾者,笞五百;当斩右趾……弃市。是后,外有轻刑之名,内实杀人。斩右趾者又当死。斩左趾者笞五百,当劓者笞三百,率多死。景帝元年,下诏曰:“加笞与重罪无异,幸而不死,不可为人。其定律:笞五百日
Fatcannotchangeintomuscle______musclechangesintofat.
最新回复
(
0
)