《面向对象程序设计》实验指导书_第1页
《面向对象程序设计》实验指导书_第2页
《面向对象程序设计》实验指导书_第3页
《面向对象程序设计》实验指导书_第4页
《面向对象程序设计》实验指导书_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一实验一 熟悉熟悉VC IDE开发环境开发环境 一 实验目的一 实验目的 1 熟悉 VC 6 0 集成开发环境 熟练掌握 VC 6 0 项目工作区 各种编辑器 菜单栏和 工具栏的使用 2 掌握如何编辑 编译 连接和运行一个 C 程序 3 通过运行简单的C 程序 初步了解C 源程序的结构和特点 二 实验要求二 实验要求 1 分析下列程序运行的结果 程序一 include int add int x int y 8 void main int x 4 cout add x cout add x add add x add x endl int add int x int y return x y 程序二 include void main int p i i 5 p i p 10 cout i i endl 程序三 include void main void int i 10 int r cout i i r r n i 88 cout i i r r n 程序四 include int f int i static int k 1 for i 0 i k i return k void main int i for i 0 i 5 i cout f i 程序五 include void func int n 1 void main static int a int b 9 cout a a b b n n endl b 4 func cout a a b b n n endl n 10 func void func static int a 2 int b 5 a 2 n 12 b 5 cout a a b b n n endl 实验二实验二 C 对对C的扩充的扩充 一 实验目的一 实验目的 1 了解在面向对象程序设计过程中 C 对 C 功能的扩充与增强 并善于在编写程序的过 程中应用这些新功能 2 进一步熟悉编辑 编译 连接和运行 C 程序的方法 3 进一步熟悉 C 程序的结构和编程方法 二 实验要求二 实验要求 1 分析下列程序运行的结果 include int amount 123 void main int amount 456 cout amount cout amount amount 789 cout amount cout amount n 2 编写一个程序 用来求2个或3个正整数中的最大数 用不带默认参数的函数实现 用带默认参数的函数实现 3 有5个字符串 要求对它们按由小到大顺序排列 用string方法 4 定义一个求两个数中较小值的函数模板min 要求在main 函数中进行调用求两个 浮点型数据和两个整型数据中较小的数 实验三实验三 类和对象 一 类和对象 一 一 实验目的一 实验目的 1 掌握声明类的方法 类和类的成员的概念以及定义对象的方法 2 掌握类的构造函数与析构函数的概念和使用方法 3 初步掌握用类和对象编制基于对象的程序 二 实验要求二 实验要求 1 分析下面的程序 写出其运行时的输出结果 include using namespace std class Date public Date int int int Date int int Date int Date void display private int month int day int year Date Date int m int d int y month m day d year y Date Date int m int d month m day d year 2005 Date Date int m month m day 1 year 2005 Date Date month 1 day 1 year 2005 void Date display cout month day year endl int main Date d1 10 13 2005 Date d2 12 30 Date d3 10 Date d4 d1 display d2 display d3 display d4 display return 0 2 建立一个名为Student的类 该类有以下几个私有成员变量 学生姓名 学号 性别 年龄 还有以下两个成员变量 一个用于初始化学生姓名 学号 性别和年龄的构造函数 一个用于输出学生信息的函数 编写一个主函数 声明一个学生对象 然后调用成员函数 在屏幕输出学生信息 3 类Person的定义如下 请实现该类 并在主函数中创建对象obj 然后使用构造函数为 obj赋予初始值 内容自定 class Person private char name 10 int age int salary char tel 8 public Person char xname int xage int xsalary char xtel void disp 实验四实验四 类和对象 二 类和对象 二 一 实验目的一 实验目的 1 进一步加深对类和对象的理解 2 掌握对类的对象数组 对象的指针及其使用方法 3 掌握友元的概念和使用 4 了解类模板的使用方法 二 实验要求二 实验要求 1 分析并比较下列程序运行的结果 程序一 include include class smallone public smallone int sma cout sm constr sma n void fn int n smallone sm n cout in function fn with n n endl int main fn 10 fn 20 return 0 程序二 include include class smallone public smallone int sma cout sm constr sma n void fn int n static smallone sm n cout in function fn with n n endl int main fn 10 fn 20 return 0 2 建立一个对象数组 内放5个学生的数据 学号 成绩 设立一个函数max 用指向对 象的指针作函数参数 在max函数中找出5个学生中成绩最高者 并输出其学号 3 声明一个类模板 利用它分别实现两个整数 浮点数和字符的比较 求出大数和小数 例3 14 实验五实验五 运算符重载运算符重载 一 实验目的一 实验目的 1 进一步了解运算符重载的概念和使用方法 2 掌握几种常用的运算符重载的方法 二 实验要求二 实验要求 1 定义一个复数类Complex 重载运算法 使之能用于复数的加法运算 将运算符重 载为普通函数 非成员 非友元 成员函数 友元函数 根据要求修改通过函数来实现复 数相加的示例 分别编写程序 求两个复数之和 include using namespace std class Complex 定义Complex类 public Complex float x 0 float y 0 real x imag y 构造函数 Complex complex add Complex 声明复数相加函数 void display cout real imag i endl private float real 实部 float imag 虚部 Complex Complex complex add Complex c real real c2 real c imag imag c2 imag return c int main Complex complex1 3 34f 4 8f complex2 12 8f 5 2f Complex complex 定义3个复数对象 complex plex add complex2 进行两个复数的加运算 complex display return 0 实验六实验六 继承和派生继承和派生 一 实验目的一 实验目的 1 了解继承在面向对象程序设计中的重要作用 2 进一步理解继承与派生的概念 3 掌握通过继承派生出一个新的类的方法 4 了解虚基类的作用和用法 二 实验要求二 实验要求 1 运行程序 分析构造函数与析构函数的调用顺序 程序一 include class A public A cout A Constructor endl A cout A Destructor endl class B public A public B cout B Constructor endl B cout B Destructor endl void main B b 程序二 include class A int a public A int aa 0 a aa A cout Destructor A a endl class B public A int b public B int aa 0 int bb 0 A aa b bb B cout Destructor B b endl void main B x 5 y 6 7 2 分别声明Teacher 教师 类和Cadre 干部 类 采用多重继承方式由这两个类派生出 新类Teacher Cader类 要求 在两个基类种豆包含姓名 年龄 性别 地址 电话等数据成员 在Teacher类中还包含数据成员title 职称 在Cader 类中还包含数据成员post 职务 在Teacher Cader类中还包含数据成员wages 工资 在对两个基类中的姓名 年龄 性别 地址 电话等数据成员用相同的名字 在引用这 些数据成员时 指定作用域 在类体中声明成员函数 在类外定义数据成员 在派生类Teacher Cader的成员函数show中调用Teacher类中的display函数 输出姓名 年 龄 性别 职称 地址 电话 然后再调用cout语句输出职务和工资 实验七实验七 多态性和虚函数多态性和虚函数 一 实验目的一 实验目的 1 了解多态性的概念 2 了解虚函数的作用及其使用方法 3 了解静态关联和动态关联的概念和用法 4 了解纯虚函数和抽象类的概念和用法 二 实验要求二 实验要求 1 分析程序运行结果 掌握虚函数的使用 程序一 include class ONE public virtual void f cout l endl class TWO public ONE public TWO cout 2 endl class THREE public TWO public virtual void f TWO f cout f 程序二 include class Base public virtual void fn cout In Base Class n class SubClass public Base public virtual void fn cout fn p p fn 2 实现一个类A 在A中有两个私有的整型变量a和b 定义构造函数对a和b进行初始化 并实现成员函数geta 取得a的值和getb 取b的值 实现类B从A继承 覆盖geta 使其返回a的2倍 主函数中声明类B对象 调用类B中的geta 并将结果输出 3 声明抽象基类Shape 由它派生出3个派生类 Cirle 圆形 Rectangle 矩形 Triangle 三角形 用一个函数printArea分别输出以上三者的面积 3个图形的数据在定义 对象是给定 实验八实验八 输入输出流输入输出流 一 实验目的一 实验目的 1 深入理解C 的输入输出的含义与其实现方法 2 掌握标准输入输出流的应用 包括格式输入输出 3 掌握对文件的输入输出操作 二 实验要求二 实验要求 事先编写好程序 上机调试和运行程序 分析结果 1 输入三角形的三边a b c 计算三角形的面积的公式是 csbsassarea 2 cba s 形成三角形的条件是 a b c b c a a c b 编写程序 输入a b c 检查a b c是否满足以上条件 如不满足 由cerr输出有关出 错信息 2 从键盘输入一批数值 要求保留3位小数 在输出时上下行小数点对齐 用控制符控制输出格式 用流成员函数控制输出格式 3 建立两个磁盘文件f1 dat和f2 dat 编程序实现以下工作 从键盘输入20个整数 分别存放在两个磁盘文件中 每个文件中放10个整数 从f1 dat读入10个数 然后存放到f2 dat文件原有数据的后面 从f2 dat中读入20个整数 将它们按从小到大的顺序存放到f2 dat 不保留原来的数据 学时数 2学时 实验九实验九 C 工具工具 一 实验目的一 实验目的 1 学会使用C 的异常处理机制进行程序的调试 2 学会使用命名空间解决名字冲突 二 实验要求二 实验要求 事先编写好程序 上机调试和运行程序 分析结果 1 求一元二次方程式的实根 如果方程没有实根 则利用异常处理机0 2 cbxax 制输出有关警告信息 2 学校的人事部门保存了有关学生的部分数据 学号 姓名 年龄 住址 教务部门 也保存了学生的另外一些数据 学号 姓名 性别 成绩 两个部门分别编写了本部门的 学生数据管理程序 其中都用了Student作为类名 现在要求在全校的学生数据管理程序中 调用这两个部门的学生数据 分别输出两种内容的学生数据 要求用ANSI C 编程 使用 命名空间 实验十实验十 复数计算器复数计算器 一 实验目的一 实验目的 掌握面向对象程序设计方法和技巧 设计一个小型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论