2010年电类上机考试:复数类编程错误调试及解答

版权申诉
0 下载量 59 浏览量 更新于2024-08-08 收藏 36KB DOC 举报
本次提供的文档是09-10-2电类上机考试试卷B,日期为2010年1月。这份试卷涉及计算机编程方面的内容,特别是C++语言的基础知识,包括类和对象的概念、构造函数与析构函数的使用、赋值操作以及错误调试。考试要求考生针对一段包含错误的C++代码进行修改,并理解并完成以下几个关键知识点: 1. **复数类定义**: - 程序定义了一个名为`complex`的类,用于表示复数。它具有私有成员变量`real`和`image`,分别表示实部和虚部。类中包含了: - 缺省构造函数(无参),用于初始化复数为0; - 带参数构造函数(接受实部和可选虚部),用于根据给定的值创建复数; - 拷贝构造函数,用于复制已有复数对象; - 析构函数,在对象被销毁时执行清理工作; - `SetComplex`成员函数,用于设置复数的实部和虚部; - `print`成员函数,用于输出复数的表示形式。 2. **错误调试**: - 考生需找出并修复程序中的5处语法错误和少量逻辑错误。这可能涉及到标点符号、数据类型匹配、内存管理和语句顺序等方面。 - 不允许改动程序的基本功能,即创建复数对象和进行复数操作;也不允许删除有错误的行。 3. **全局对象和main函数**: - 全局对象`complex global`的创建表明在main函数之外也有复数对象的实例。 - main函数部分展示了如何创建两个复数对象`com1`和`com2`,以及对复数属性的不正确赋值(应为`com1.image = 2.0; com1.real = 2.0;`而非同时设置)。 - 还有一个未完成的赋值操作`complex com3 = com`,需要考生修复这个语法错误,并确保正确地初始化或复制复数对象。 4. **输入输出和错误处理**: - 考试还考察了输出控制,如构造函数中的cout语句,以及成员函数`print`的输出格式。考生需要理解如何正确使用这些语句来调试和显示程序运行过程中的信息。 这道题目主要测试考生对C++基础语法的掌握程度,包括类的定义与使用、构造函数、析构函数、复制操作以及调试技巧。通过解答这些问题,考生能够巩固面向对象编程的核心概念,并提高代码调试能力。