首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imagmary,分别用来表示复数的实部和虚部,都是double
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imagmary,分别用来表示复数的实部和虚部,都是double
admin
2015-07-20
119
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义复数类CComplex的私有成员变量real和imagmary,分别用来表示复数的实部和虚部,都是double类型的变量。请在注释, ∥********1********后添加适当的语句。
(2)添加复数类CComplex的带一个参数的构造函数,分别将real和imaginary赋值为参数r和0。请在注释∥********2********后添加适当的语句。
(3)完成对运算符“+”的重载,分别对复数的实部和虚部相加。请在注释∥********3********后添加适当的语句。
(4)完成复数的友元函数Equal(CComplex&el,CComplex&c2)的定义,如果两个数的实部和虚部都相等,则返回1,否则返回0,请在注释∥********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class CComplex
{
private:
∥********1********
public:
CComplex()
{
real=imaginary=0;
}
CComplex(double r) {
∥********2********
}
CComplex operator+(CComplex&
c1){
∥********3********
temp.real=real+c1.real;
temp.imaginary=
imaginary+c1.imaginary;
return temp;
}
void Set(int re,int imag)
{
real=re ;
imaginary=imag ;
}
friend bool Equal(CComplex&
cl,CComplex&c2);
};
bool Equal(CComplex&cl,
CComplex&c2)
{
∥********4********
}
int main()
{
CComplex complexl(5);
CComplex complex2 ;
cout<
lex2)<
complex2.Set(5,0);
cout<
lex2)<
return 0 ;
}
选项
答案
(1)添加语句:double real,imaginary; (2)添加语句:real=r; imaginary=0; (3)添加语句:CCompiex temp; (4)添加语句:return(C1.real=c2.real)&& (c1.imaginary==c2.imaginary);
解析
(1)第1个标识下完成定义复数类CComplex的私有成员变量real和imaginary,均为double类型的变量,因此第1个标识下应添加“double real,imaginary;”。
(2)构造函数CComplex(double r)完成类的初始化,该构造函数有一个参数,分别将real和imaginary赋值为参数r和0,因此第2个标识下应添加“real=r;imaginary=0;”。
(3)编译程序可知,变量temp没有定义,由operator+(CComplex&c11函数体的语句可知,temp为函数的返回值,而operator+(CComplex&c1)函数体函数返回CComplex类对象,故在第3个标识下补充temp定义,即“CComplextemp;”。
(4)即判断两个对象c1和c2的实部和虚部是否均相等,两个逻辑结果相与即可,因此第4个标识下应添加“return(e1.real==c2.real)&&(c1.imaginary==e2.imaginary);990
转载请注明原文地址:https://kaotiyun.com/show/43Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知各变量的定义如下inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C++语言语法的表达式是()。
对于常成员函数,下面描述正确的是()。
条件表达式(x!=9)&&(x==9)的结果是【】。
若d为double型变量,则表达式d=1,d+5,d++的值是______。
下面是关于派生类声明的开始部分,其中正确的是
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是
下述关于数据库系统的叙述中正确的是
下面是“二维向量”vector2D的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象;请填空补充完整。classvector2D{doublex;//x分量
下面有关重载函数的描述中正确的是
若有定义语句:int a=3,b=2,c=1;,则表达式a<b?a:b的值是【 】。
随机试题
下列指标中()不属于机械性能指标。
下列各项关于全胃肠外营养的指征中,不包括
牙龈病中最常见的是
绘制横断面曲线时,在图上确定车辙深度D1、D2,以其中的最大值作为()。
图纸综合会审工作,一般由()负责组织。
某公司将海关确定的应于2016年4月1日(周五)前缴纳的关税税款200000元,拖延至4月8日才缴纳。则该公司应缴纳关税滞纳金()元。
《谢尔曼反托拉斯法》
______islocatedinmetropolitanMelbourne?______hasgolfcoursesnearby?
OrganicArchitectureOneofthemoststrikingpersonalitiesinthedevelopmentofearly-twentiethcenturyarchitecturewasF
ReadingFasterTheonlywaytoreadfasteristoreadfaster,anditisaserioussuggestion.I.Guidelineson【T1】【T1】_____
最新回复
(
0
)