C++实验环节

一、类型

课程实验

二、目的与要求

通过上机实践加深对课程内容的理解。
要求程序正确。

三、与课程考试的关系

在课程笔试前完成。

四、实验大纲

实习题目1

实验名称:集成开发环境的使用

实验目的与要求:了解并初步掌握集成开发环境。初步掌握调试程序知道得到正确结果的过程。

实验内容:

⑴建立项目文件search,及源文件search.cpp.
⑵编写一个程序,动态分配能存入10个int值的数组;通过键盘为数组赋值。
⑶查找数组中的最大值及最小值,并输出结果。
⑷要求编译、调试并运行这个程序。

实习题目2

实验名称:类的定义

实验目的与要求:掌握类定义的方法。

实验内容:

⑴设计几个几何图形类,包括三角形、正方形和圆形等。
⑵为各个类定义必要的成员变量及成员函数。成员函数除访问函数外,还应包括计算图形的周长、面积、显示图形信息等。
⑶建立各个图形对象,从键盘输入数据,通过访问函数为对象赋值。
⑷输出各对象的相关信息。

实习题目3

实验名称:使用多文件编程

实验目的与要求:熟悉面向对象编程思想和多文件编程规范。

实验内容:

⑴建立项目文件Point、头文件Point.h和源文件Point.cpp。
⑵设计一个类Point,这个类的对象描述屏幕上的一个点。定义类中的成员函数,如计算给定点到(0,0)的距离、计算给定两点间的距离、判断给定的3个点是否能构成一个三角形等。类Point在Point.h中声明,在Point.cpp文件中实现。
⑶在主函数中,输入三角形3个顶点的坐标,计算3条边的长度。
⑷编译运行程序,验证所实现的功能。

实习题目4

实验名称:完善类的定义

实验目的与要求:为类添加成员。

实验内容:

⑴在实习题目3的基础上,为类Point添加必要的构造函数、复制构造函数和析构函数。要求能在主函数中接受以下形式的对象声明:

Point p();
Point p1(2,3);
Point p2(p0);

⑵为类Point添加一个静态变量,统计创建的点的个数,并添加必要的成员函数,可以显示结果。
⑶编译运行程序,验证所实现的功能。

实习题目5

实验名称:运算符重载

实验目的与要求:熟悉运算符重载,为自定义的类重载常用运算符。

实验内容:

为类myComplex重载乘法运算符。
注:设a+bi和c+di是任意两个复数,他们的积(a+bi)*(c+di)=(ac-bd)+(bc+ad)i。

实习题目6

实验名称:类的继承与类的派生练习

实验目的与要求:公有继承的赋值兼容性规则、构造函数、复制构造函数和析构函数的设计方法。

实验内容:

⑴设计交通工具类Vehicle及其3个子类,包括汽车automobile、船ship及飞机aircraft。
⑵为每个类设计必要的属性,其中公共的属性放到vehicle中,独特的属性放到各个子类中。可选择的属性包括名称、类型、自重、外观尺寸、车轮数、燃料、使用目的、载客人数、载货吨数和最大时速等。
⑶为各个类编写构造函数及成员函数,包括显示对象信息的message函数。该函数将对象自身的信息显示在屏幕上。
⑷ 为各个类设计适当的成员函数,以便演示公有继承的赋值兼容性规则,以及构造函数、复制构造函数和析构函数的调用顺序。
⑸编写测试类。要求创建各个类的对象,显示各自的信息。使用类Vehicle 引用aVehicle,分别指向automobile、ship及aircraft的对象,调用函数aVehicle.message(),查看结果。

实习题目7

实验名称:类的多态性练习

实验目的与要求:将实习题目6定义的交通工具类Vehicle中的成员函数设计为虚函数,然后在各派生类中实现各自的函数。

实验内容:

⑴为交通工具类Vehicle设计一个展示交通工具信息的纯虚函数ShowV(),并在各派生类中实现ShowV()。
⑵编译运行程序,验证所实现的功能。

实习题目8

实验名称:格式化输入/输出

实验目的与要求:熟悉各类数据的不同输出格式。

实验内容:

从键盘读取整数,分别按照不同的格式进行输出。

实习题目9

实验名称:文件读写

实验目的与要求:熟悉文件的基本操作。

实验内容:

设计一个保存学生的课程成绩的文本文件,读取文本文件内容,统计每个学生的总成绩,按总成绩完成排序,将结果写入二进制文件中。

实习题目10

实验名称:使用函数模板及类模板进行程序设计

实验目的与要求:了解函数模板和类模板的概念,编写函数模板和类模板。

实验内容:

⑴编写基于数组的排序算法的函数模板。
⑵使用函数模板,实现至少3中不同类型数组的排序。
⑶建立链表类模板。
⑷使用类模板,建立3中不同数据类型的链表。

你可能感兴趣的:(C++实验环节)