西安财大2017级C++面向对象编程期末考题解析

版权申诉
0 下载量 3 浏览量 更新于2024-09-08 1 收藏 83KB DOCX 举报
本资源是一份西安财经大学2017级C++面向对象技术与编程期末考试的真题A卷,适用于计算机类17级学生。该试卷旨在测试学生的程序理解能力、类和对象的概念、运算符重载以及基本的输入输出操作。 1. 题目要求完成一个名为`Complex`的类,它包含私有成员变量`real`和`image`,表示复数的实部和虚部。题目给出了类的构造函数`Complex(int real, int image)`,用于初始化对象的实部和虚部。接着是两个友元函数:一个是两个复数相加的`operator+(Complex&a, Complex&b)`,它返回一个新的复数,等于传入两个复数的和;另一个是赋值运算符`operator=(Complex&a)`,用于将一个复数的值赋给当前对象。类还提供了一个`show()`成员函数,用于打印复数的值。在主函数中,通过创建`Complex`对象`c1`和`c2`并进行相加操作,输出它们的值。 2. 第二部分涉及到一个名为`Time`的类,用于表示时间,有私有成员变量`hour`、`minute`和`second`。题目给出了`Time(int h, int m, int s)`构造函数,用于设置小时、分钟和秒,同时设置了条件判断确保数值在合法范围内。另一个友元函数是`Time operator-(Time&t)`,用于计算两个`Time`对象之间的差值。`ostream&operator<<(ostream&out, Time&t)`是一个输出运算符,用于将时间对象转换为可读的字符串形式。主函数中创建`Time`对象`t1`和`t2`,并执行减法操作,输出结果。 总结,这份试卷涵盖了C++面向对象编程的基础知识,包括类的定义、构造函数、赋值运算符、友元函数、运算符重载以及基本的输入输出操作。考生需要熟练掌握这些概念,并能灵活运用到实际程序设计中。