期末上机-《高级语言程序设计II》-2017-2018-2-期末考试-1-A卷.doc

上传者: 48257021 | 上传时间: 2025-06-23 18:38:40 | 文件大小: 20KB | 文件类型: DOC
天津理工大学期末上机_《高级语言程序设计II》_2017-2018-2_期末考试_1-A卷 设计和实现日期类CDate,要求如下: (1)该类有3个int类型的私有数据成员:year、month、day; (2)该类的成员函数至少包括:  2个构造函数:分别为无参数、带3个参数的构造函数,要求函数中输出必要信息以示区别;  析构函数:要求在析构函数中输出必要信息;  设计成员函数用来分别设置数据成员year、month、day的值;  设计成员函数display用来在屏幕上打印日期信息; (3)设计测试程序:在main()函数中使用不同方式创建对象,并测试其成员函数的功能。 二、设计和实现圆类Circle,要求如下: (1)该类有1个double类型的私有数据成员:radius表示圆的半径值; (2)为Circle类设计运算符重载函数:  以友元函数形式重载“+”加法运算:Circle类的对象 a和 b,a+b运算返回两圆面积之和;  以类内成员函数形式重载“-”减法运算: a-b运算返回两圆面积之差(注意差值为正数); (3)按需要可为Circle类添加其它必要 《高级语言程序设计II》是一门重要的计算机科学课程,它涉及到程序设计的基础和高级概念。在本期末上机考试中,学生将面临三个主要任务,分别涉及日期类CDate、圆类Circle以及几何形状类CGeometry的设计和实现。下面我们将详细探讨这些知识点。 CDate类的设计要求学生理解面向对象编程中的封装和构造函数的概念。CDate类包含三个私有数据成员:year、month和day,用于存储日期信息。这个类至少需要两个构造函数:一个无参构造函数(用于创建默认日期对象),另一个带有三个参数的构造函数(用于初始化年、月、日)。此外,还需要一个析构函数来显示必要的信息,这是C++中的对象生命周期管理的重要组成部分。成员函数应包括设置年、月、日的方法,以及一个display函数用于打印日期。测试程序应展示如何通过不同方式创建CDate对象,并调用这些成员函数验证其功能。 接下来是Circle类的设计,它包含一个私有数据成员radius,表示圆的半径。这里,学生需要掌握运算符重载,这是一个强大的C++特性。Circle类需要实现两个重载运算符:“+”作为友元函数,用于合并两个圆的面积,返回它们的总面积;“-”作为成员函数,返回两个圆面积的正差值。这要求对友元函数和成员函数的理解以及对运算符重载的恰当使用。测试程序应创建Circle对象并验证这两个运算符重载函数的正确性。 CGeometry类及其派生类Square展示了继承和抽象的概念。CGeometry是一个含有纯虚函数len()的抽象基类,表示几何形状的一般特性,如周长或面积。派生类Square继承CGeometry,并添加了一个数据成员a表示正方形的边长。在Square中,len()函数需要被重写以计算正方形的周长。在给定的main函数中,创建了一个CGeometry指针并指向一个Square对象,然后调用len()函数,这体现了多态性,即父类指针可以调用子类的成员函数。 通过这三个任务,学生不仅需要掌握C++的基本语法,还要熟悉面向对象编程的核心概念,如类、对象、构造函数、析构函数、数据成员、成员函数、友元函数、运算符重载、继承、抽象类和纯虚函数、以及多态。这些知识点是成为一名合格的程序员所必需的,对于理解和解决问题至关重要。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明