面向对象程序设计实验项目

上传人:人*** 文档编号:507286758 上传时间:2022-08-04 格式:DOCX 页数:10 大小:14.83KB
返回 下载 相关 举报
面向对象程序设计实验项目_第1页
第1页 / 共10页
面向对象程序设计实验项目_第2页
第2页 / 共10页
面向对象程序设计实验项目_第3页
第3页 / 共10页
面向对象程序设计实验项目_第4页
第4页 / 共10页
面向对象程序设计实验项目_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《面向对象程序设计实验项目》由会员分享,可在线阅读,更多相关《面向对象程序设计实验项目(10页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计实验项目实验一 C+面向过程练习实验目的和要求:1. 2. 3. 4. 5. 6.掌握C+程序的基本格式与规范,学会编写简单的C + +程序。理解C+程序的结构和特点。熟悉C+程序基本的输入和输出操作。掌握C+ +数据类型、常量和变量以及修饰符的使用方 法。掌握C+ +的各种流程控制语句的使用。熟悉C+ +语言实验环境,能够在或的环境下调试与运 行程序。实验内容:1. 求解方程axbxcO在复数域上的解,a,b,c终端输入。 注意分析的全面性。2.用el21111,求e之值,直到106 为止。1!2!n!n!实验二C+面向过程练习实验目的和要求:1. 掌握一维数组、二维数组的定

2、义与使用。2. 掌握函数定义、函数调用和函数说明的方法。3.掌 握函数递归调用的概念和使用方法。实验内容:1.编程求若干个整数中的最大和次大,最小和次小这 四个数。2.键盘输入两个整数,试编写两个函数分别求出 这两个数的最大公约数和最小公倍数。3. 编写一个递归函数 void reverse(int a,int n)将 数组a中的数倒置。如a数组原来为:1234 5,则调用reverse函数后,a数组内容变为:5 4 3 21。实验三C+在非面向对象方面的扩充实验目的和要求:1. 2. 3. 4. 5. 6. 7.掌握函数重载的方法及定义重载函数时的注意事项。 掌握函数缺省参数的使用。掌握指针

3、的定义及使用方法,理解void型指针。理解动态内存分配意义,掌握new和delete使用方法。 掌握引用的声明方法及使用。掌握const修饰符及其内联函数的使用。熟悉C+在非面向对象方面的其他扩充特性。1实验内容:1.编写10个重载函数max,分别求两个整数、实数、 双精度数、字符、字符串及三个整数、单精度数、双精度数、字符、字符串中的最大 数。2.编写函数 void addl, void add2, void add3,功能如下:输入若干个整数,以0结束,并用参数sum返 回这若干个整数之和。在主程序中分别调用这三个函数,观 察结果,总结值传递和地址传递的规律。3.矩阵中填数: 当给出N*N

4、的矩阵,要求用程序填入下列形式的数:S形填数,例如N=5 回转填数,例如N=51 1 2 34 5 2 3 4 516 17 18 19 6 10 9 8 7 615 24 25 20 7 11 12 13 14 1520 19 18 17 16 14 23 22 21 8 13 12 11 10 921 2223 24 25要求:用new和delete动态分配空间。实验四类与对象实验目的和要求:1.2. 3. 4. 5. 6. 7.掌握类、类的数据成员、类的成员函数的定义方式。理 解类成员的访问控制方式。掌握对象的定义和操作对象的方法。理解和掌握构造函数、析构函数、拷贝构造函数的定义 与执行

5、过程。掌握重载构造函数的方法。理解浅拷贝与深 拷贝。了解对象的生存期。实验内容:1. 设计三个图形类:Circle、Rec tangle、Triangle, 要求:Circle类基本信息:圆心坐标、半径;Rec tangle类基本信息:长、宽;Triangle类基本信息:三个顶点坐标;其中:成员变量为private属性,成员函数为public 属性。 为Circle类设计缺省的构造函数,并用init成员 函数进行数据成员的初始化。为其余两个类设计多个构造 函数:无参、带参、参数值缺省的构造函数。 每个图形类 有计算图形的面积Get Area ,计算图形的周长 GetPerimeter 。显示图

6、形的基本信息函数Show,修改基本信息的函数 Set (形参)。以Circle类为例:通过GetArea计算圆的面 积,GetPerimeter计算圆的周长,Show函数中显示圆心坐 标、直径、周长、面积等基本信息;Set(int x,int y, int r)函数可以修改圆心坐标和半径。注意多个构造函数的声明方式与定义的实现。当输入数据为不合理数据时(例如:输入的三角形的顶 点是否能组成一个三2角形),提示用户输入错误。2. 一维数组是应用极为广泛的数据结构,但是C+语言的数组没有下标越界检查,因而极易出错。请定义一个安全的一维整型数组类 int Array,要求:基本信息:存储数据的基址指

7、针,数组的大小,均定义 为private属性。 定义构造函数、析构函数、拷贝构造函 数。定义以下成员函数:int GetSize ;返回数组的大小,即数组的元素个数。int GetAt (int nlndex);获得nIndex索引位置上的数 组元素值。void SetAt(int nlndex , int newElement);向 nIndex 位置设定新的newElement值。 使用intArray类实现一个 冒泡排序程序。实验五类与对象实验目的和要求:1.2. 3. 4. 5. 6. 7.掌握对象数组的定义与使用方法。理解对象指针的概念,学会用指针引用对象。理解this 指针的工作方

8、式。掌握静态数据成员和静态成员函数的基本使用方法。 理解友元与友元函数的作用,掌握其使用方法。掌握对象成员及其常类型的使用方法。学会使用C+的多文件方式编 写程序。实验内容:1.设计一个Stu dent类,并使Stu dent类具有以下特占:八、该类具有学生姓名、学号、程序设计、信号处理、数据 结构三门课程的成绩。 学生全部信息键盘输入,以提高程 序的适应性。通过成员函数分别统计每个学生的平均成绩和每门课 程的平均成绩,当课程数量增加或减少时成员函数无需修改仍可求取平均成 绩。 输出学生的各科成绩与平均成绩。学生对象的定义采用对象数组实现。 统计不及格学生人数。 表格输出整 齐美观。能以最方便

9、的方式实现对课程数量和学生人数的修改。 采用多文件方式组织程序。实验六继承与派生类实验目的和要求:1. 2. 3. 4. 5.理解类的继承的概念,能够定义和使用类的继承关系。 掌握派生类的声明与定义方法。熟悉三种派生方式的访问 特性。掌握多基继承,理解和掌握虚基类。理解赋值兼容 规则。实验内容:1. 定义点Point类作为基类,在此基础上派生出直线 Line 类和圆 Circle 类,在 Circle类的基础上以不同的属性派生出圆柱Cylinder类和球 Spheroid类。并要求基类和各派生类具有以下特点:Line类含有计算直线长度和斜率的成员函数。Circle 类含有计算圆面积的成员函数。

10、Cylinder类含有计算圆柱表面积和体积的成员函数。 Spheroid类含有计算球体的表面积和体积的成员函数。要 求在实验报告中画出类层次图。2. 小型公司人员管理。某小型公司有四类人员:总经 理、技术人员、销售经理、推销员。设计一个基类person,并派生出employee,再 employee 派生出 manager、technician、salesmanager、 saleman。销售经理既是经理又是销售人员,兼具两类人员 的特点,因此同时继承manager和salesman两个类。类定义person 类:基本信息:姓名、性别、出生日期类)其中:基本信息为private属性,成员函数为

11、public属性Date 类:成员变量:年、月、日派生类employee :新增属性:编号、职位、薪水等 派 生类technician:新增属性:工作时间派生类saleman:新增属性:销售额、所属部门实现人员信息的录入与显示。计算并显示个人月薪:月薪计算办法:总经理拿固定月薪8000元,技术人员 按每小时25元领取月薪;推销员的月薪按当月销售额的4% 提成;销售经理固定月薪5000元加所管辖部门当月销售总 额的5%。实验七 多态性与虚函数实验目的和要求:1.理解编译时的多态性和运行时的多态性。2.掌握 虚函数的定义与使用方法。3. 掌握纯虚函数和抽象类的概念和使用方法,运用纯 虚函数实现多态

12、性。实验内容:1.在实验六题目1的基础上,增加以下内容:在Line 类的基础上派生长方形Rec tangle类和正方形Squre类,并分别在长方形Rec tangle类和 正方形Squre类的基础上派生长方体Cuboid类和正方体 SquareBody类,并要求基类和各派生类具有计算各图形的周 长、面积和体积的功能,要求用纯虚函数实现。注:可先定义一个抽象类一-图形Figure类,含有求周 长、面积、体积的纯虚函数,用此类进行派生。假设某个图 形上述几个图形组成,求该图形的总面积或总体积。2.员 工管理:将实验六中题目2中不同员工的工资计算函数pay ,改 用虚函数实现。将每个类中的信息显示函

13、数:display改 用虚函数实现。 对每个类增加一个升职函数:promote。employee类中的pay和display设计为纯虚函数;在 主函数中便可以依据赋值兼容规则用基类类型的指针数组来处理不同派 生类的对象。于不同类的对象调用升级函数promote需要赋于不同 的实参值,难以对各类对象统一处理,因此,employee中promote定义 为虚函数,各派生类再定义同名函数。实验八运算符重载实验目的和要求:1.理解运算符重载的概念和使用方法。2.掌握运算 符重载的两种形式。3.掌握几种常用运算符的重载。实验内容:1请为xxplex类定义下列重载运算符函数 算术运算 符+、-、*、/;求复数的共轭运算符!插入运算符,=,=,! =插入运算符;提取运算符3. 对实验四中的题目2实现的intArray类定义下标运 算符重载函数,并用下标运算符的方法实现冒泡排序。实验九模板实验目的和要求:1.掌握函数模板及其声明方法。2.掌握模板函数及 其生成方法。3.学习类模板的声明与使用方法。实验内容:1.定义函数模板实现求一维数组中所有数据的和。其 数据类型可以为整数、单精度数、双精度数、字符型数,并规定字符型数据的和为这两个 字符连接起来的字符串,如:a + b二“ab”。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号