首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
admin
2019-06-05
76
问题
使用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://www.kaotiyun.com/show/v18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序执行后,屏幕的输出是()。#include<iostream>usingnamespacestd;voidswap(intx,inty){inttemp=x;x=y;y=t
下面不属于C++的预定义的流对象是()。A)cinB)iostreamC)clogD)Celt
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。A)TestClass(TestClassx)B)TestClass&(TestClassx)C)TestClass(TestClass*x)D)TestC
下列关于抽象类的表述中正确的是()。A)派生类必须要实现作为基类的抽象类中的纯虚函数B)抽象类的成员函数至少有一个没实现C)抽象类不可能用来定义对象D)派生类不能成为抽象类
下面的函数调用为:fun(x+y,3,min(n-1,y))则fun的实参个数是()。A)3B)4C)5D)6
下面关于常成员函数的说法中正确的是()。A)常成员函数不能修改任何的数据成员B)常成员函数只能修改一般的数据成员C)常成员函数只能修改常数据成员D)常成员函数只能通过常对象来调用
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
随机试题
可持续发展(sustainabledevelopment)是20世纪80年代提出的一种新的发展观。这种模式要求在保护环境的条件下发展经济,既要满足当代的需求,又不能损害后代人的利益。它的核心思想是确保经济、资源和环境的协调发展,目的是让子孙后代享受充分的
发热的分度,低热_____________、中等度热____________、高热____________、超高热____________。
2002年6月4日,甲纺织厂与平安保险公司签订了企业财产保险合同。保险金额为人民币100万元,保险期为1年,即自2002年6月5日零时起至2003年6月4日24时止。2002年8月9日,甲纺织厂仓库失火,厂方领导积极组织进行扑救,但是由于火势太大,扑救工作
E企业2010年12月31日银行存款日记账账面余额为456000元;银行对账单为438000元。则企业在编制资产负债表时,应以456000元为依据计算货币资金科目期末数。()
制造费用是本期发生的生产费用,一定会影响企业当期的损益。()
C公司是2015年1月1日成立的高新技术企业。为了进行以价值为基础的管理,该公司采用股权现金流量模型对股权价值进行评估。评估所需的相关数据如下:(1)C公司2015年的销售收入为1000万元。根据目前市场行情预测,其2016年、2017年的增长率分别为1
长期摄入过量的氟会引起()。
“历史并不是把人当作达到自己目的的工具来利用的某种特殊的人格。历史不过是追求着自己目的的人的活动而已。”这句话反映出()
[*]
人们常用打印当前页操作,其中的“当前页”是指(46)。
最新回复
(
0
)