您的当前位置:首页正文

C++期末考试上机原题

2024-07-30 来源:小奈知识网


题目一

实验目标和要求:

(1)理解类的继承,能够定义和使用类的继承关系; (2)掌握派生类的声明与定义方法;

(3)熟悉共有派生和私有派生的访问特性; (4)学习虚基类在解决二义性问题中的作用; (5)练习使用多种输入输出类。

问题描述:

1. 定义一个基类MyArray,基类中可以存放一组数据(要求可以同时支持整型数组、浮点型数组,数组长度可以自定义)。如果能力允许,请考虑支持复数数组(可以参考教课书中关于复数处理的例子)。

基类定义部分示例(整型数据) class MyArray{ protected: };

int *alist; //指向动态申请的一组空间 int legth; //整数的个数 public:

Myarray(int length); ~MyArray(); void Input(); void Display();

2. 定义一类SortArray,继承自MyArray,在该类中定义函数,实现排序功能,并将排序前和排序后的数据依次写入一个MyArray.txt文件中(两组数据中间要有分割标识,例如换行或其他符号)。

3. 定义一个类InsertIntoArray,继承自MyArray,在该类中定义函数,实现将新输入的数据插入到从MyArray.txt文件中已经排好序的数据中(先将数据从文件中读出,再写入)。

4. 定义一个类NewArray,同时继承类SortArray和InsertIntoArray,使得NewArray类的对象同时具有排序和插入新数据的功能。

5. 在继承的过程中声明为虚基类,体会虚基类在解决二义性问题中的作用。 题目二 实验目标:

(1)理解类的继承,能够定义和使用类的继承关系; (2)掌握派生类的声明与定义方法;

(3)熟悉共有派生和私有派生的访问特性; (4)学习虚基类在解决二义性问题中的作用;

(5)练习使用多种输入输出类。

问题描述:

1. 在第一次上机题目的基础上,以当时定义的类为基类,定义一个继承自它的类HexCalculator,支持16进制运算。

2. 在第一次上机题目的基础上,以当时定义的类为基类,定义一个继承自它的类ByteCalculator,支持2进制运算。

3. 定义一个MultiPurposeCalculator类,继承自HexCalculator和ByteCalculator类,使得它可以用于计算十进制、二进制和十六进制数据。

4. 在继承的过程中声明为虚基类,体会虚基类在解决二义性问题中的作用。

5. 在各个类中加入记录计算日志的功能(CalculateLog),将所有的计算表达式及结果写入一个CalculateLog.txt文件(配以计算机的时间就可以唯一区分一条记录,每条记录之后都换行)。

因篇幅问题不能全部显示,请点此查看更多更全内容