上传者: 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++的基本语法,还要熟悉面向对象编程的核心概念,如类、对象、构造函数、析构函数、数据成员、成员函数、友元函数、运算符重载、继承、抽象类和纯虚函数、以及多态。这些知识点是成为一名合格的程序员所必需的,对于理解和解决问题至关重要。