首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是d
admin
2019-06-05
79
问题
使用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全国计算机二级
相关试题推荐
下列程序执行后,屏幕的输出是()。#include<iostream>usingnamespacestd;voidswap(intx,inty){inttemp=x;x=y;y=t
下列关于抽象类的表述中正确的是()。A)派生类必须要实现作为基类的抽象类中的纯虚函数B)抽象类的成员函数至少有一个没实现C)抽象类不可能用来定义对象D)派生类不能成为抽象类
下面关于函数模板的表述中不正确的是()。A)类模板的成员函数都是模板函数B)类模板本身在编译过程中不会产生任何代码C)类模板只能有虚拟类型的参数D)用类模板定义一个对象时,实参不能省略
下面关于虚函数的描述中,正确的是()。A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明B)虚函数是非成员函数C)虚函数是static类型的成员函数D)派生类中的虚函数与基
实体完整性约束要求关系数据库中元组的______属性值不能为空。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。A)-369B)369C)0.369D)整数集合{1,2,3,4,5}
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
下列程序运行时的输出结果是______。#include<iostream>usingnamespacestd;voidXfun(int&,int&);intmain(){inta=3,b=4;
随机试题
香豆素可溶于热的氢氧化钠水溶液,是由于结构中存在
下列药物中不属于九味羌活汤组成药物的是
A.【用法用量】B.【药物相互作用】C.【注意事项】D.【药物过量】影响药物疗效的因素(如食物、烟、酒)的内容应列在
屋面细石混凝土防水层的厚度不应小于()mm。
某大型流通企业2008年年销售收入为1亿元,经过董事会商议,打算就2008年净利润进行分配,且还计划在2009年投资建造一新项目。预计该新项目原始投资额为500万元,投资项目寿命期5年,当年投产并产生效益,5年中每年的.销售收入为280万元,销货成本为18
甲公司主营电池生产业务,现已研发出一种新型锂电池产品,准备投向市场。为了评价该锂电池项目,需要对其资本成本进行估计。有关资料如下:(1)该锂电池项目拟按照资本结构(负债/权益)30/70进行筹资,税前债务资本成本预计为7.11%。(2)目前市场上有一
设随机变量X~N(μ,σ2),则P(|X-μ|<2σ)().
考生文件夹下存在一个数据库文件“samp3.accdb”,里面已经设计了表对象“tEmp”、窗体对象“fEmp”、报表对象“rEmp”和宏对象“mEmp”。同时,给出窗体对象“fEmp”上一个按钮的单击事件代码,试按以下功能要求补充设计:(1)设
Dafterinterviewingbecomecommonpractice【S1】______intheUnitedStates,Americanjournalists
ShoppersonBlackFriday,thetraditionalstartoftheholidayshoppingseasoninAmerica,arenotoriously(声名狼藉地)aggressive.Som
最新回复
(
0
)