实验一C++中对C语言的常规扩充(2学时)
一、实验目的
1.熟悉C++开发环境
2.掌握函数重载的方法掌握函数重载方法及定义重载函数时的注意事项 3.掌握指针的定义及使用方法理解动态内存分配意义
4.掌握new和 delete使用方法 5.掌握引用的声明方法及使用
二、实验内容
以下实验内容可根据具体情况选做
1.编写一个函数,统计一个英文句子中字母的个数,在主程序中实现输入输出。 2.编写三个重载函数,分别求两个整数、实数和双精度数中最大的数。 3.用new运算符产生一个一维数组,输入并输出数组中的数据,然后将数组元素颠倒排列后,再次输出各个值。
4.编制程序,调用传递引用的参数,实现两个字符串变量的交换。
5.编写一个参数为指针的函数,判断一个字符串在另一个字符串中是否存在,如果存在,则返回该字符串出现的次数;如果不存在,则返回值为0。编写主函数,对其功能测试。
三、实验要求
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
1
实验二 类与对象(2学时)
一、实验目的
1.掌握类与对象的定义方法,成员函数实现与调用方法
6.深刻领会类与对象的区别,类实现数据隐藏与封装的原理等 3.掌握构造函数和析构的定义方法 4.掌握拷贝构造函数的使用 二、实验内容
以下实验内容可根据具体情况选做 1.定义一个满足如下要求的类Cdate:
(1) 有三个成员数据:年、月、日; (2) 有设置日期的成员函数;
(3) 有用格式“月/日/年”输出日期的成员函数; (4) 有对当前日期加一天的成员函数。 设计出相应的程序测试类的功能
2.完善下列程序,定义每个成员函数和非成员函数,输出必要的信息,检查临时对象何时被创建,何时被析构。
class X { public:
X(int);
X(X&) ~X(); } X f(X); void main()
2
{
X a(1); X b=f(X(2)); a=f(a); }
3.定义一个两点坐标与距离的类,输入坐标上的两点,计算出两点之间的距离,并输出。同时设计出相应的程序测试类的功能。
4.堆栈是一种结构较简单的线性表,它只允许在表的一端进行数据的插入和删除操作,称允许插入和删除的一端为栈顶,另一端为栈底。通常称插入操作为进栈,删除操作为出栈。因为最后进栈的数据必定先出栈,因此栈具有后进先出的重要特性,简称LIFO(Last In Fist Out)。要求定义和实现栈类Stack,并有相应的测试程序。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
3
实验三 静态成员和友元(2学时)
一、实验目的
1.掌握类中静态成员定义方法,掌握静态数据成员初始化方法 2.掌握静态数据成员和静态成员函数的访问和使用方法
3.了解引入友元的目的 4.学会友元函数和友元类的使用 二、实验内容
以下实验内容可根据具体情况选做
1.掌握类中静态成员定义方法,掌握静态数据成员初始化方法
2. 掌握静态数据成员和静态成员函数的访问和使用方法
3.定义一个类Cpoint表示一个点的信息。在此基础上编写一个表示三角形类Triangle,用友元函数计算三角形面积和周长。
4.定义一个学生类和一个全体学生类,利用友元类的方法,实现对学生成绩排序。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
4
实验四 运算符重载(2学时)
一、实验目的
1.理解运算符重载的概念和实质 2.掌握运算符重载函数的定义方法
3.掌握运算符重载为类的成员函数和友元函数的方法 二、实验内容
以下实验内容可根据具体情况选做
1.定义一个Time类,重载一元“++”和二元“+”操作符,使之具有时间相加的功能。 2.定义一个Rectangle类,要求重载运算符“>” 或 “<” 使之实现比较两个矩形对象面积的大小。 3.构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:
(1) 建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,
并避免分母为负数 (2) 重载加法、减法、乘法以及除法运算符。 (3) 重载关系运算符:>、<、==等。 三、实验要求
在编写程序时将类的定义写成头文件(.h),类的实现写成.cpp文件,测试程序写在另一个.cpp文件,形成多文件结构。
实验完毕,提交实验报告。实验报告的内容包括实验目的、实验内容和结果分析,程序的源代码和程序的输入输出数据的情况附到实验报告中,写出程序的调试情况,并对输出结果进行分析。
5