首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类CComplex的私有成员变量real和imaginary,分别用来表示复数的实部和虚部,都是
admin
2017-11-27
74
问题
使用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********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#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;
imaglnary=imag;
}
friend bool Equal(CComplex&
c1,CComplex& c2);
};
bool Equal(CComplex&c1,
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)添加语句:CComplex temp; (4)添加语句:return (c1.real==c2.real)&& (c1.imaginary ==c2.imaginary);
解析
(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/9DAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream.h>voidmain(){intx=5,y=2;cout<<!(y==x/2)<<",";cout<<y!=x%3)<<",";
如果一个对象部分地包含自己,或自己定义自己,则称这个对象是【 】的对象。
在顺序存储结构中进行插入和删除操作比在链表中进行插入和【 】操作的效率低。
设有数组定义:char array []= "China";则数组array 所占的空间为
已知类A有公用数据成员a,且有A obj2;A * const ptr=new A;则下列语句正确的是
假定有下列变量定义: int k=7,x=12; 则能使值为0的表达式是
在下列数据管理的各阶段中,数据独立性最高的阶段是
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
数据模型分为格式化模型和非格式化模型,则关系模型属于【 】模型。
随机试题
关于烧伤创面的处理,下列哪一项是错误的
猩红热可见的舌改变是()
在人与人的沟通中,有一定的特殊性,下列哪些因素使得人们对同样的事情或谈话会有不同的解释和归因。美国管理的传统习惯是()。
当事人一方不履行非金钱债务或者履行非金钱债务不符合约定的,在下列何种情形下,对方不得要求履行?()
根据《个人所税法》规定,劳动报酬所得的个人所得税的税率为( )。
Euthanasiacanbeeitheractiveorpassive:(46)Activeeuthanasiameansthataphysicianorothermedicalpersonneltakeadelib
自顶向下的方法是一种系统化的方法,它是()的一种有机结合。
自然界では、繁殖力の最も強いすぐれたしゅが生き残ってるのがほうそくである。自然
Todaywe(havemade)great(achievements),(but)tomorrowweshallwinstill(great)victories.
Whichofthefollowingisconsideredalandmarkrulingininterracialmarriages?
最新回复
(
0
)