首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
admin
2019-06-05
71
问题
使用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全国计算机二级
相关试题推荐
在每个C++程序中必须有且仅有一个()。A)函数B)主函数C)预处理指令D)语句
下面关于指针的说法中错误的是()。A)在指针定义的同时可以对其进行初始化B)指针根据其所指向变量的类型的不同,所占用内存大小也不同C)指针中存放的是内存单元的地址D)相同类型的指针之间可以相互赋值
有如下程序:#include<iostream>usingnamespacestd;classTlestClass{intn;public:TestClass(intk):n(k){
下面类的声明中的几个语句,正确的是(设定语句是主函数中的语句)()。classTestClass{private:intdata;public:TestClass(intg_data)
函数Min的功能是返回具有n个元素的数组array中的最小值。请将横线处的缺失部分补充完整,使得程序的输出结果为1.24。#include<iostream>usingnamespacestd;template<typename
实体完整性约束要求关系数据库中元组的______属性值不能为空。
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。A)任何B)公有或保护C)保护或私有D)私有
有如下程序:#include<iostream>usingnamespacestd;classSac{intn;public:Sac():n(4){cout<<n;}Sac(intk):n(
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
简述现阶段学习政治经济学原理的重要意义。
邓小平在恢复和发展党的思想路线方面,不仅恢复了毛泽东倡导的实事求是,还突出地强调了【】
女性患者,35岁,查体脾脏肋下3cm,该患者的诊断可能是
A.1年B.2年C.7天D.14天E.30天精神类药品处方保存时间
杆OA绕固定轴O转动,长为l,某瞬时杆端A点的加速度a如题52图所示。则该瞬时OA的角速度及角加速度为()。
在我国短暂的物业管理发展史中,政府之所以起到不可或缺的作用,主要原因是()。
为了提高测试的效率,应该
(电子表格题)晓雨任职人力资源部门,她需要对企业员工Office应用能力考核报告进行完善和分析。按照如下要求帮助晓雨完成数据处理工作。在“等级”列中计算并填写每位员工的考核成绩等级,等级的计算规则如下:
•Lookatthestatementsbelowandthefiveextractsaboutcompanies.•Whichextract(A,B,C,DorE)doeseachstatement(1-
She’scute,noquestion.Symmetricalfeatures,flawlessskin,lookstobe22yearsold—enteringanymeat-marketbar,awomanl
最新回复
(
0
)