C++实验
- 1.简单C++程序开发
- 2.类与对象
-
- 2.1 声明一个树Tree类,有数据成员ages(树龄),构造函数Tree(int n=0)进行初始化,成员函数grow(int years)对ages加上years,成员函数age()显示对象年龄等。请在主函数中定义一个Tree类对象进行测试(创建一个树龄为18的对象,调用age()显示树龄,之后调用grow(4),再显示树龄)。
- 2.2 定义一个点Point类,有点坐标属性(x, y)。再定义一个矩形Rectangle类,其属性为两个Point点(分别表示矩形对角线上两点的坐标),及含有计算矩形的周长及面积的成员函数;再编写两个Point类的友元函数,分别计算两个点组成的矩形的周长与面积。在主函数中进行测试
- 2.3 设计一个学生信息管理程序,管理8个学生信息,能够按学号查询输出指定学生的信息(姓名,课程,成绩),也能输出全部学生信息。要求:1)输出函数采用非成员函数形式,以对象指针为形参;2)在主函数中采用对象数组形式实例化8个学生对象;4)测试两种输出形式.
- 2.4 采用标准vector动态数组改写第3题程序,并在类中增加静态数据成员count,实现对象生成的计数。
- 3.类的继承
-
- 3.1声明一个动物基类Animal,私有整型成员变量年龄age,请定义一个派生类Dog,在其成员函数SetAge(int n)中直接给age赋值,测试下看是否会出问题?如何解决?
- 3.2 设计一个单基继承的类层次程序,用Person类派生出Student类,增加属性学号index和年级level。Person类中至少有姓名name、年龄age等数据成员,以及构造函数、输出函数等,其余成员函数根据需要添加。在主函数中进行测试。
- 3.3 定义一个学生类Student和教师类Teacher,学生类有姓名name、学号index等数据成员,教师类有姓名name、工作证号workID、职称title、课程course、周学时hoursPerWeek等数据成员。再定义一个助教类TeachingAssistant,多继承于学生类和教师类,该类可以使用学生类的全部数据成员,以及教师类的课程和周学时数据成员。要求:每个类提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。在主函数中进行测试。
- 3.4 声明一个Person,包含姓名name和年龄age等私有数据成员以及相关的成员函数;由它派生出领导类Leader,包含职务position和部门department私有数据成员以及相关的成员函数;再由Person派生出工程师类Engineer,包含职务position和专业speciality私有数据成员以及相关的成员函数;再由Leader和Engineer类派生出主任工程师类Chairman。在主函数中测试各类对象初始化和信息输出,查看是否会出问题?如何解决?
- 4. 运算符重载
-
- 4.1 定义一个复数类Complex,重载运算符“+”、“-”、“*”、“-”“==”,使之能用于复数的加、减、乘、求反以及比较的等运算。要求分别重载运算符函数为Complex类的成员函数和非成员函数(友元函数)。在主函数中进行测试。
- 4.2 声明Point类,有坐标x和y两个成员变量;对Point类重载“++”“--”自增、自减(前置、后置)运算符,实现对坐标值的改变。
- 4.3 设计一个一维的int数组类IntArray(属性:下标下 限、下标上限、int型指针),可以任意指定下标范围(初始化时要判断下标是否正确),并重载下标访问运算符“[]”实现数组类的下标访问。在主函数中(创建一个下标1-10的数组对象,初始化并输出)进行测试。
- 5.多态
-
- 5.1 定义一个Point类,有点坐标属性(x, y),由它派生出圆形类(Circle)和矩形类(Rectangle),基类中定义了求面积的纯虚函数。在主函数定义派生类的对象,调用面积函数,观察运行结果。
- 5.2 定义一个教师Teacher类,由教师类派生出讲师、副教授、教授类。教师的工资分别由基本工资、课时费和津贴构成。假设讲师、副教授、教授的基本工资分别为3000、4000、5000元,课时费分别为每课时100、120、150元,每月平均授课20课时,津贴分别为2000、2500、3000元,请定义虚函数来计算各类教师的每月工资。在主函数通过基类指针或引用来验证虚函数的多态性。
- 5.3 编写一个的简单的求给定数平方根的程序,设计一个异常类用异常处理机制来检测给定数为负数的情况。在主函数中进行测试。
1.简单C++程序开发
1.1 使用Visual C+ +建立一个标准C+ +控制台程序,并编译、运行。
具体实验步骤:
1)启动Visual C++开发环境,创建一个控制台空工程
2)建立C++源程序文件