实验六继承与虚函数讲解

河北地质大学

学 院)系: 专 业: 姓 名: 班 级: 学 号: 指导教师:

实验报告

商学院 物流管理 张梦宇 4141040503 414104050316 张有华

2016年 11 月 7 日

(实验六 继承与虚函数

一、目的和要求

1. 掌握C++关于数组的定义、初始化、赋值和使用的方法。 2. 掌握数组作为函数参数的定义、以及函数调用方法。 3. 掌握指针的定义、初始化和使用方法。

4. 掌握指针与数组作为函数参数的函数定义和调用方法。 5. 掌握用指针和引用给函数传递参数。 6. 了解类的两种使用方式 7. 学习从现有类派生出新类的方式 8. 了解在派生类中如何使用基类的成员 9. 了解基类成员在派生类中的访问控制 10. 二、实验环境

硬件环境:计算机(windows xp系统) 软件环境:VC++6.0 三、实验内容

1. 写一个程序,程序运行时用户输入10个数据,程序运行结束,输出其中的最大值与最小值。

(1) 实现要求

? 用一个数组存放各个整数;

? 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现求数组中

元素的最大值与最小值的操作。

(2) 实现提示

? 可以设计求数组中元素的最大值与最小值操作的函数原型为: void searchMaxMin( int arr[], int n, int *mmax, int mmin)。 (3) 测试数据

输入:30 50 21 39 20 输出:max:50 min:20

2. 编程,用户输入一个帐号,程序检查此帐号是否出现在下面的列表中,如果属于下列列表中的帐号,则输出用户帐号合法信息,否则输出用户帐号不存在。

5658845 4520125 7895122 8777541 8451277 1302850 8080152 4562555 5552012 5050552 7825877 1250255 1005231 6545231 3852085 7576651 7881200 4581022 (1) 实现要求

了解虚函数对多态性的支持

? 用数组存放所有的帐号;

? 在主函数 main()中实现数据的输入和输出操作。 (2) 实现提示

? (3) 测试数据

? 输入:8777541 ? 输出:用户帐号合法 ? 输入:8747541 ? 输出:用户帐号不存在

3. 数组排序, 从键盘读入若干整数,将它们按由低到高排序输出。 (1) 实现要求

? 用一个数组存放各个整数;

? 在主函数 main()中实现数据的输入和输出操作,并用一个函数实现对数组元

素的排序操作。

? 排序函数调用另一个函数swap(int *pa, int *pb)实现两个数组元素的交换。 (2) 实现提示

? 排序使用简单选择排序法、直接插入排序算法或冒泡排序算法均可。 (3) 测试数据

输入:30 50 21 39 20

输出:20 21 30 39 50 简单选择排序算法基本思想

从 n 个数中选择最小的一个,把它和第一个数组元素交换;从剩下的 n-1 个数中选择最小的一个,把它和第二个数组元素交换;依此类推,直到从最后两个元素中选出倒数第二小的元素并把它和倒 数第二个元素交换为止。

直接插入排序算法基本思想

假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。

冒泡排序算法基本思想

(1)首先将第一个记录的关键字和第二个记录的关键字进行比较,若为“逆序”(即L.r[1].key>L.r[2].key),则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录的关键字和第n个记录的关键字比较过为止。这是第一趟冒泡排序,其结果是使得关键字最大的记录被安置到最后一个记录的位置上;

(2)然后进行第二趟冒泡排序,对前面的n-1个记录进行同样的操作,其结果是使关键字次大的记录被安置到第n-1个记录的位置; 一般地,第i趟冒泡排序是从L.r[1]到

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4