面向对象程序设计作业参考答案
XXX14秋学期《面向对象程序设计》在线作业答案

XXX14秋学期《面向对象程序设计》在线作业答案面向对象程序设计14秋学期《面向对象程序设计》在线作业一,单选题1.下列关于this指针的说法,错误的是()。
A。
this指针指向当前正在操作的对象B。
this指针只存在于非静态成员函数中C.在成员函数中对非静态数据成员的访问是通过this指针完成的D.静态成员函数中可以通过this指针访问非静态成员正确答案:D2.已知“int a=10,*p;int *&r=p。
r=*p=20;cout<<a;”,则输出为()。
A。
10B。
20C.不确定值D.程序有错误正确答案:B3.有关重载函数的描述正确的是()。
A.函数名相同的函数就是重载函数B.函数名相同但返回值类型不同的函数就是重载函数C.函数名相同但参数个数或类型不同的函数就是重载函数D.函数功用相同的函数就是重载函数正确答案:C4.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。
以下叙述中正确的选项是()。
A。
operator+有两个参数,operator*有两个参数B。
operator+有两个参数,operator*有一个参数C。
operator+有一个参数,operator*有两个参数D。
operator+有一个参数,operator*有一个参数正确谜底:C5.以成员函数方式重载运算符“>”,则obj1>obj2被C++编译器解释为()。
A。
operator>(obj1,obj2)B。
(obj1,obj2)C。
obj1.operator>(obj2)D。
obj2.operator>(obj1)正确谜底:C6.下列运算符中,()在C++中不能重载。
A。
:B。
+C。
-D。
<=正确答案:A7.运行以下程序时,如果由键盘输入6514,则输出结果是()。
#includeusingnamespace std。
int main() { int m。
西电2022年秋季《面向对象程序设计(c++)》大作业及答案

学习中心/函授站姓名学号西安电子科技大学网络与继续教育学院2022 学年下学期《面向对象程序设计(C++)》期末考试试题(综合大作业)考试说明:1、大作业试题公布时间:(1)毕业班:2022 年10 月21 日;(2)正常班:2022 年11 月18 日;2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用《西安电子科技大学网络与继续教育学院2022 秋期末考试答题纸》(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;4、在线上传时间:(1)毕业班学生于2022 年10 月21 日至2022 年11 月1 日在线上传大作业答卷;(2)正常班学生于2022 年11 月18 日至2022 年12 月5 日在线上传大作业答卷;5、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。
一、简答题(10 分)1、运算符 new 和 delete 的功能分别是什么?(3 分)答案:运算符new的功能是创建动态对象;delete的功能是释放由new创建的动态对象。
2、若派生类以 private 方式从一个基类派生,派生类的对象可以访问基类中的哪些成员?派生类的成员函数可以访问基类中的哪些成员?(3 分)答案:若派生类以private方式从一个基类派生,派生类的对象不能访问基类中的任何成员(1分);派生类的成员函数可以访问基类中的public和protected成员(2分)。
3、构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?(4 分)答案:构造函数的作用是创建对象并对其进行必要的初始化。
(1分)构造函数调用顺序:基类构造函数、子对象类构造函数(如果有)、派生类构造函数。
(2分)二、填空题(每空 2 分,共 20 分)1、函数的返回值是通过函数体中的return语句带回的;若被调用函数被定义为 void 类型,则被调用函数不带回任何值。
2、表示逻辑关系“ a 大于等于8 或者 a 小于等于5”的C++表达式是。
面向对象程序设计课程作业及答案

《面向对象程序设计》课程作业及答案中央电大理工部计算机教研室作业1:是非题1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。
1. 错2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
4. 对填空题下面是一个求数组元素之和的程序。
主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。
函数sum计算数组元素之和。
填充程序中不完整的部分。
________A__________int sum(int [],int);void main(){int ia[5] = {2,3,6,8,10};B ;sumOfArray = sum(ia,5);cout << "Sum of array:" << sumOfArray << endl;}int sum(int array[],int len){int iSum = 0;for(int i = 0; C ; D )E ;return iSum;}答案:A #include <iostream.h>B int sumOfArray;C i < lenD i++E iSum += array[i];阅读理解题写出下列程序的运行结果://file1.cppstatic int i = 20;int x;static int g(int p){return i + p;}void f(int v){x=g(v);}//file2.cpp#include <iostream.h>extern int x;void f(int);void main(){int i=5;f(i);cout << x;}回答以下问题:1. 程序的运行结果是什么样的?2. 为什么文件file2.cpp中要包含头文件<iostream.h>?3. 在函数main()中是否可以直接调用函数g()?为什么?4. 如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么?5. 文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。
java面向对象程序设计习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案习题一:定义一个类问题描述:定义一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)属性,以及构造方法和相应的getters和setters方法。
答案:```javapublic class Person {private String name;private int age;private String gender;public Person(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}```习题二:继承与多态问题描述:创建一个名为`Student`的类,继承自`Person`类,并添加一个名为`studentId`的属性。
重写`toString()`方法,以显示学生的详细信息。
答案:```javapublic class Student extends Person {private String studentId;public Student(String name, int age, String gender, String studentId) {super(name, age, gender);this.studentId = studentId;}public String getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}@Overridepublic String toString() {return "Student{" +"name='" + getName() + '\'' +", age=" + getAge() +", gender='" + getGender() + '\'' +", studentId='" + studentId + '\'' +'}';}}```习题三:封装与隐藏问题描述:创建一个名为`BankAccount`的类,包含账户ID (accountId)、账户余额(balance)和账户类型(accountType)。
面向对象的程序设计作业及答案

1. 一段代码可能导致异常,程序员将它放到了一个try模块中,catch(){……}块中的代码为空,那么() CA. 编译无法通过B. 只有在代码所在函数的声明中抛出才能编译通过C. 代表对异常不做处理,编译可通过D. 运行时一定出错满分:4 分2. 如果一段代码可能引发某种异常,Java要求(D)A. 最好处理B. 必须全部抛出C. 必须全部捕获D. 必须有明确的处理代码满分:4 分3. 错误提示内容:javac:Command not found,请判断是下列哪个方面出了问题?AA. 编译器的路径变量设置不正确B. 程序中有错误的语句C. 文件名和公有类名不匹配D. main方法缺少statci和public修饰满分:4 分4. public class Xyz {int x=1;} 类Xyz有几个构造方法() BA. 0B. 1C. 2D. 3满分:4 分5. 创建包目录的编译命令选项是( ) DA. -aB. -bC. -cD. -d满分:4 分6. 用()可以修饰类或成员方法,表明是抽象的。
CA. finalB. abstractD. static满分:4 分7. 子类中,若要使用父类中隐藏的方法,可以使用()关键字 AA. superB. thisC. upperD. parents满分:4 分8. 使用GridLayout管理组件,当容器的大小变化时(C)A. 组件的相对位置不变,组件的大小不变B. 组件的相对位置改变,组件的大小不变C. 组件的相对位置不变,组件的大小改变D. 组件的相对位置改变,组件的大小改变满分:4 分9. 下列哪个类不是java.applet.Applet类父类?(A )A. java.awt.FrameB. ponentC. java.awt.ContainerD. java.awt.Panel满分:4 分10. String类中,得到字符串中字符个数的函数是( A)A. length成员变量B. size成员变量C. length( )成员函数D. size( )成员函数满分:4 分11. 下列哪个是Java应用程序的正确运行命令?AA. java HelloWorldAppB. java HelloWorldApp.javaC. javac HelloWorldAppD. javac HelloWorldApp.java满分:4 分12. 可变(长度)字符串使用( )处理. DB. CharacterC. StringD. StringBuffer满分:4 分13. Java的三类异常中,当发生内存越界等无法恢复的错误时,会产生()A. ExceptionB. ErrorC. RuntimeD. Exception满分:4 分14. 数组的唯一的数据成员是(D)A. sizeB. SizeC. LengthD. length满分:4 分15. Stirng.replace(char char1,char char2);的意义是( ) AA. 所有char1换成char2B. 所有char2换成char1C. 第一个char1换成char2D. 第一个char2换成char1满分:4 分16. java中使用()符号来访问对象的方法 AA. .B. ->C. ()D. A和B满分:4 分17. 包语句可以放在()BA. 源文件的任意位置B. 源文件的第一条语句C. 源文件的末尾D. 源文件的中间满分:4 分18. 在一个程序中,我们处理完了数据,想更新显示,应该在代码中使用()函数。
(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
Java语言程序设计(面向对象程序设计)

1、下列关于类的描述中,错误的是()。
A.可以将所有类成员的访问权限都设为私有权限B.类可认为是一种高级数据类型C.类包含数据成员和函数成员D.用类所定义出的变量称为对象正确答案:A2、下列关于重用代码的描述中,错误的是()。
A.函数是重用算法代码的语法形式B.类是一种数据类型,因此只能重用数据代码C.结构体类型是重用数据代码的语法形式D.类是同时重用算法代码和数据代码的语法形式正确答案:B3、关于程序开发过程中的程序员角色,下列哪种描述是错误的?A.一个程序员可以使用其他程序员提供的代码,即代码使用者B.一个程序员可以既是代码提供者,同时又是代码使用者C.一个程序员不能既是代码提供者,同时又是代码使用者D.一个程序员可以为其他程序员提供代码,即代码提供者正确答案:C4、关于程序设计方法,下列哪种描述是错误的?A.结构化程序设计分解出的函数是一种算法零件B.程序设计方法是研究如何对大型程序设计任务进行分解的方法C.结构化程序设计分解出的结构体类型是一种数据零件D.面向对象程序设计分解出的类是一种数据零件5、下列哪种思想不属于面向对象程序设计?A.继承B.模块化C.抽象D.封装正确答案:B6、下列关于类的描述中,错误的是()。
A.可以用流程图来描述类的设计B.类是描述客观事物的数据模型C.类的数据成员也被称作属性D.类的函数成员也被称作方法正确答案:A7、按照面向对象程序设计的观点,下列关于对象描述中错误的是()。
A.客观世界中的事物被称作客观对象B.类是描述客观对象的数据模型C.程序中用类定义出的对象被称作内存对象D.同一个类所定义出的两个内存对象可以有不同的成员正确答案:D8、关于面向对象程序设计方法,下列哪种描述是错误的?A.面向对象程序设计方法所设计出的类代码不能重用B.面向对象程序设计方法更便于代码分类管理C.面向对象程序设计方法中的类是客观事物抽象后的数据模型D.面向对象程序设计方法是当今程序设计的主流方法9、假设编写一个教务管理系统,通过分析可抽象出若干个类,其中不应当包括下列哪个类?A.宿舍类B.教师类C.课程类D.学生类正确答案:A10、如果将客观世界中的钟表抽象成一个钟表类,其中不应当包含下列哪个成员?A.设置时间B.显示时间C.功率D.时、分、秒正确答案:C11、下列关于字段成员的描述中,错误的是()。
2020秋西南大学[0837]面向对象程序设计作业答案
![2020秋西南大学[0837]面向对象程序设计作业答案](https://img.taocdn.com/s3/m/e86fc4045ef7ba0d4b733be2.png)
【D】1、下列Java表达式,错误的是()A. long j = 8888;B. String str = String("bb");C. char c = 74;D. int k = new String("aa");解析:String类型转换成int类型应用Integer.praseInt("123")且字符必须为纯数字【B】2、下列合法的Java标识符是()A. E. +voidB. _blackC. -5D. 12class解析:JAVA标识符不能是数字、符号、特殊符号开头【B】3、关于constructor,下列描述正确的是()A. class中的constructor不可省略B. constructor在一个对象被new时执行C. 一个class只能定义一个constructorD. constructor必须与class同名,但方法不能与class同名解析:constructor(构造器) 构造函数,不定义的情况下在编译代码阶段会自动在当前类增加无参构造函数故A错误一个class(类)可以有多个构造函数,如有一个参数的有多个参数的或无参的都可以故A错误方法可以随意命名,只要不是java保留字故D错误【A】4、以下哪个方法用于定义线程的执行体?()A. F. run()B. main()C. start()D. init()解析:init初始化线程start就绪线程run运行线程main是主体函数【C】5、编译一个定义了两个类和三个方法的Java源文件,产生字节码文件的个数和扩展名是()A. 5个字节码文件,以".java"为扩展名B. 5个字节码文件,以".class"为扩展名C. 2个字节码文件,以".class"为扩展名D. 2个字节码文件,以".java"为扩展名解析:java字节码都是二进制,所以AB错误一个类生成一个字节码文件与方法无关方法是类的成员另外需要注意如果存在内部类有几个内部类则生成几个字节码文件【B】6、下列程序的执行结果是()public class Test {public static void main(String args[]) {try {return;}finally {System.out.println("Finally");}}}A. B. 程序无输出B. 程序输出"Finally"C. 因为缺少catch块,所以编译出错D. 代码可以通过编译,但执行时产生异常解析:无论try catch块执行到什么位置,在程序执行结束前会先执行finally块;故选B【D】7、设有两个类A和B,以下描述中表示B继承自A的是()A. class A implements BB. class A extends BC. class B implements AD. class B extends A解析:集成关键字为extends 故A C错误类1 extends 类2 类1:表示子类类2:表示父类固定搭配所以B错误【B】8、下列程序的运行结果是()import java.awt.*;public class Test extends Frame {public Test(){add(new Label("Hello"));add(new TextField("Hello"));add(new Button("Hello")); //第6行pack();setVisible(true);}public static void main(String[]args){new Test();}}A. 在第6行抛出一个IllegalArgumentException异常B. 显示一个窗口,仅包含一个按钮C. 出现一个空窗口D. 代码编译不通过解析:label是标签无作用button是按钮textField是文本框窗体中有内容C错误代码能正常执行D错误pack();没有抛出异常A错误【B】9、关于Java程序中要使用的一个变量,以下描述不正确的是()A. 在Java程序中要使用一个变量,必须先对其进行声明B. 局部变量在使用之前可以不初始化,系统使用默认的初始值C. 变量不可以在其作用域之外使用D. 变量声明语句可以在程序的任何地方,只要在变量使用前就可以解析:变量使用原则:1、声明变量例:String s;s即为声明的变量引用类型为String2、赋值变量s="bianliang"; 即为初始化【B】10、关于abstract(抽象),下列描述正确的是()A. 声明抽象方法,大括号{ }可有可无B. 声明抽象方法不可写出大括号{ }C. abstract修饰符可修饰字段、方法和类D. 抽象方法的body部分必须用一对大括号{ }包住解析:接口不能有具体内容,抽象方法可以【A】11、()修饰符所定义的方法必须被子类所覆盖。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题一5、分析下面程序运行的结果。
#<include iostream>using namespace std;int main(){cout<<”This”<<”is”;cout<<”a”<<”C++”;cout<<”program.”<<endl;return 0;}输出结果:ThisisaC++program.6、分析下面程序运行的结果。
#include <iostream>using namespace std;int main(){int a,b,c;a = 10;b = 23;c = a + b;cout<<'a + b =";cout<<c;cout<<endl;return 0;}输出结果:a + b = 338、在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
修改后的程序如下:#include <iostream>using namespace std;int main(){int a, b;a =b = 0;int c = a + b;cout<<”a + b =”<<a + b;return 0;}9、输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
修改后的程序如下:#include <iostream>using namespace std;int add(int x,int y);int main(){int a = 0, b = 0;int c = add(a,b);cout<<" a + b ="<<c<<endl;return 0;}int add(int x,int y){int z = x + y;return z;}习题二1、请检查下面的程序,找出其中的错误(先不要上机,在纸面上作人工检查),并改正之。
然后上机调试,使之能正常运行。
运行时从键盘输入时、分、秒的值,检查输出是否正确。
改正以后的程序如下:#include <iostream>using namespace std;class Time{public:void set_time(void);void show_time(void);private:int hour;int minute;int sec;};Time t;int main(){();();return 0;}void Time::set_time(void){cin>>hour;cin>>minute;cin>>sec;}void Time::show_time(void){cout<<hour<<":"<<minute<<":"<<sec<<endl;}6、需要求3个长方柱的体积,请编写一个基于对象的程序。
数据成员包括length(长)、width(宽)、height(高)。
要求用成员函数实现一以下功能:(1)由键盘分别输入3个长方柱的长、宽、高;(2)计算长方柱的体积;(3)输出3个长方柱的体积;请编写程序,上机调试并运行。
参考程序如下:#include <iostream>using namespace std;class Cuboid{public:void SetValue(){for(int i = 0; i < 3;i++){cin>>length[i];cin>>width[i];cin>>height[i];}}void calArea(){for(int i = 0; i < 3;i++){area[i] = length[i] * width[i] * height[i];}}void showArea(){calArea();for(int i = 0; i < 3;i++){cout<<"长方柱"<<i<<"的面积为:" <<area[i]<<endl;}}private:double length[3],width[3],height[3],area[3];};int main(){Cuboid c;();();return 0;}习题三1、构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?答:构造函数的作用:用来初始化对象。
析构函数的作用:在删除一个对象前被调用,释放该对象成员的内存空间,以及其它一些清理工作。
用户需要按照一定的需求去初始化对象时,需要定义构造函数。
同理,释放对象时,用户需要按照一定的需求去释放内存或者其他清理工作,需要定义析构函数。
2、分析下面的程序,写出其运行时的输出结果。
#include <iostream>using namespace std;class Date{public:Date(int m,int d,int y):month(m),day(d),year(y){}Date(int m,int d):month(m),day(d){year = 2005;}Date(int m):month(m){day = 1;year = 2005;}Date(){month = 1;day = 1;year = 2005;}void display(){cout<<month<<"/"<<day<<"/"<<year<<endl;}private:int year,month,day;};int main(){Date d1(10,13,2005);Date d2(12,30);Date d3(10);Date d4;();();();();return 0;}输出结果如下:10/13/200512/30/200510/1/2051/1/20053、题目略。
答:有问题,Date d2(12,30);这行代码具有二义性,可以调用第一个构造函数,也可以调用第四个构造函数。
Date d3(10) 这行代码具有二义性,可以调用第一个构造函数,也可以调用第三个构造函数。
Date d4; 这行代码具有二义性,可以调用第一个构造函数,也可以调用第二个构造函数。
解决的办法就是去掉第二、三和四个构造函数。
4、建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。
程序代码如下:#include <iostream>using namespace std;class Student{public:Student(int n,float s):num(n),score(s){}void display(){cout<<num<<" "<<score<<endl;}private:int num;float score;};int main(){Student s[5] = {Student(1,91),Student(2,92),Student(3,93),Student(4,94),Student(5,95)};Student *ps = s;ps->display();ps++;ps++;ps->display();ps++;ps++;ps->display();return 0;}6、阅读下面的程序,分析其执行结果,写出输入结果。
#include <iostream>using namespace std;class Student{public:Student(int n,float s):num(n),score(s){}void change(int n ,float s){num = n; score = s;}void display(){cout<<num<<" "<<score<<endl;}private:int num;float score;};int main(){Student stud(101,;();(101,;();return 0;}输出结果如下:1011017、将第6题得程序分别做如下修改,分析所修改部分的函数以及编译和运行的情况。
(1)将main函数第2行改为const Student stud(101,;答:有错误,常对象只能调用常成员函数,而display和change函数都不是常成员函数。
(2)在(1)的基础上修改程序,是只能正常运行,用change函数修改数据成员num和score 的值。
答:首先将change和display成员函数修改为常成员函数,然后将数据成员num和score 修改为可变类型(在num和score的数据类型前加mutable)。
(3)将main函数改为int main(){Student stud(101,;Student *p = &stud;p->display();p->change(101,;p->display();return 0;}其他部分仍同第6题的程序。
(4)在(3)的基础上将main函数改为const Student * p = &stud;答:有错误。
p指针是个常量指针,指向的是一个常对象,故而解决的办法同题(2)。
(5)在把main函数第3行改为Student * const p = &stud;答:没有错误。
p指针是个指针常量,指向stud以后不能再指向其他对象。
习题四1、定义一个复数类Complex,重载运算符“+”、“=”,“*”,“、”,使之能进行复数的加、减、乘、除。
运算符重载函数作为Complex类得成员函数。
编程序,分别求两个复数之和、差、积和商。
#include <iostream>#include <cmath>using namespace std;class Complex{public:Complex(double r=0,double i=0);Complex operator +(const Complex& c);Complex operator -(const Complex& c);Complex operator *(const Complex& c);Complex operator /(const Complex& c);void print() const;private:double real, imag;};Complex::Complex(double r,double i){real=r;imag=i;}Complex Complex::operator +(const Complex& c){double r=real+;double i=imag+;return Complex(r,i);}Complex Complex::operator -(const Complex& c){double r=;double i=;return Complex(r,i);}Complex Complex::operator *(const Complex& c){double r=real * - imag * ;double i=real * + imag * ;return Complex(r,i);}Complex Complex::operator /(const Complex& c){double t = pow,2) + pow,2);double r=real * + imag * ;double i=imag * -real * ;return Complex(r/t,i/t);}void Complex::print() const{cout<<'('<<real<<','<<imag<<')'<<endl; }int main(){Complex a(3,2),b(0,3),c;c = a + b;();c = a - b;();c = a * b;();c = a / b;();return 0;}习题五7、有以下程序,请完成下面的工作:①阅读程序,写出运行时输出的结果。