




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: C+面向对象程序设计 实验项目: 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 宋春花 2014年 月 日实验名称 实验一 C+基础实验目的1. 熟悉基本的输入输出方法;2. 掌握函数的定义、调用和声明方法,函数的参数传递机制,函数嵌套调用和递归调用,内联函数,带默认形参的函数,重载函数;3. 理解名称空间的概念,掌握名称空间的使用;4. 熟悉const关键字的使用;5. 掌握内存的动态分配的概念和使用方法;6. 熟悉编译预处理命令;7. 掌握常用算法的实现(如穷举,迭代,递推等)。实验内容1. 定义一个内联函数,判断一个字符是否为数字字符,即介于09。2. 编写重载函数max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。主要仪器设备台式或笔记本电脑实验代码和运行结果1.#include stdafx.h#includeiostreamusing namespace std;inline char mat(char x)if(x=0&x=9)coutyesendl;elsecoutnox;mat(x);return 0;2.#include stdafx.h#includeiostreamusing namespace std; int max1(int x1,int x2) return (x1x2?x2:x1); int max1(int x1,int x2,int x3) int y; y=x1x2?x2:x1; return (yx3?x3:y); double max1(double x1,double x2) return (x1x2?x2:x1); double max1(double x1,double x2,double x3) double y; y=x1x2?x2:x1; return (yx3?x3:y); int _tmain(int argc, _TCHAR* argv) int x1,x2,x3;double y1,y2,y3;coutinput x1,x2,x3x1x2x3; coutmax1(x1,x2)endl; coutmax1(x1,x2,x3)endl;coutinput y1,y2,y3y1y2y3;coutmax1(y1,y2)endl;coutmax1(y1,y2,y3)endl;getchar();return 0;心得体会 实验名称 实验二 类和对象实验目的和要求1. 掌握类的概念;2. 理解对象和类的关系,掌握对象的创建和使用;3. 掌握构造函数、析构函数的概念及使用方法;4. 理解构造函数和析构函数的调用过程;5. 掌握对象数组和对象指针;6. 理解类的组合。实验内容1. 定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c2,用默认构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用共有成员函数Display()显示复数c1、c2、c3的内容。2. 设计一个Dog类,它用静态数据成员Dogs记录Dog的个数。静态成员函数GetDogs用来存取Dogs。设计并测试此类。主要仪器设备台式或笔记本电脑实验代码和运行结果1.#include stdafx.h#includeiostreamusing namespace std;class complexprivate:double real,image;public:complex(double r,double i);complex(complex &c);void display();complex:complex(double r,double i):real(r),image(i)complex:complex(complex &c)real=c.real;image=c.image;void complex:display()coutreal+imageiendl;int _tmain(int argc, _TCHAR* argv)complex a(20.0,40.0),b(0.0,0.0);complex c(a);coutc1=;a.display();coutc2=;b.display();coutc3=;c.display();return 0;2.#include stdafx.h#includeiostreamusing namespace std;class Dogstatic int Dogs;public:Dog()Dogs+;static void GetDogs()coutDogsendl;int Dog:Dogs=0;int _tmain(int argc, _TCHAR* argv)Dog dog; Dog:GetDogs();return 0;心得体会实验名称 实验三 继承性实验目的和要求1. 理解继承与派生的概念;2. 掌握派生类定义格式与使用方法;3. 初步掌握派生类构造函数的定义与使用方法,理解构造函数的调用过程,及基类成员的初始化过程;4. 理解冲突,、支配规则与赋值兼容性原则的概念。实验内容1. 定义描述职工档案的类Archives,私有数据成员为职工号(No)、姓名(Name8)、性别(Sex)、年龄(Age)。成员函数有:构造函数、显示职工信息的函数Show()。再由职工档案类派生出职工工资类Laborage,在职工工资类Laborage中新增数据成员:应发工资(SSalary)、社保金(Security)、实发工资(Fsalary),其成员函数有:构造函数,计算实发工资的函数Count(),计算公式为:实发工资=应发工资社保金。显示职工档案及工资的函数Display()。在主函数中用Laborage类定义职工对象lab,并赋初始值(1001,”Cheng”,M,21,2000,100),然后显示职工档案与工资。 2. 定义描述矩形的类Rectangle,其数据成员为矩形的中心坐标(X,Y)、长(Length)与宽(Width)。成员函数为计算矩形面积的函数Area()与构造函数。在定义描述圆的类Circle,其数据成员为圆的中心坐标(X,Y)与半径R,其成员函数为构造函数。再由矩形类和圆类多重派生出长方体类Cuboid,其数据成员为长方体的高(High)与体积(Volume)。成员函数为:构造函数,计算体积的函数Vol(),显示矩形坐标(X,Y)、长方体的长、宽、高与体积的函数show()。主函数中用长方体类定义长方体对象cub,并赋初值(10,1010,20,30,30,10,10),最后显示长方体的矩形坐标(X,Y)与长方体的长、宽、高与体积。主要仪器设备台式或笔记本电脑实验代码和运行结果1.#include stdafx.h#includeiostreamusing namespace std;class Archivesprivate:int No,Age;char Name8,Sex2;public:Archives(int no,char*n,char*s,int a)No=no;Age=a;strcpy(Name,n);strcpy(Sex,s);void Show()cout职工号No年龄Age姓名Name性别Sex;class laborage:public Archivesprivate:int SSalary,Security,Fsalary;public:laborage(int no,char*n,char*s,int a,int SS,int Se):Archives(no,n,s,a)SSalary=SS;Security=Se;void Count(laborage &lab);void Display()Archives:Show();cout工资Fsalaryendl;void laborage:Count(laborage& lab)lab.Fsalary=lab.SSalary-lab.Security;int _tmain(int argc, _TCHAR* argv)laborage lab(10001,cheng,M,21,2000,100);lab.Count(lab);lab.Display();2.#include stdafx.h#includeiostreamusing namespace std;class Rectangleprotected:int x,y,length,width;public:Rectangle(int a,int b,int l,int w)x=a;y=b;length=l;width=w;int Area()int z;z=length*width;return z;class circleprivate:int x,y,r;public:circle(int c,int d,int rr)x=c;y=d;r=rr;class cuboid:public Rectangle,public circleprivate:int High,Volume;public:cuboid(int a,int b,int l,int w,int c,int d,int rr,int h):Rectangle(a,b,l,w),circle(c,d,rr)High=h;void Vol(cuboid &cub)cub.Volume=cub.Rectangle:Area()*High;void show()cout坐标:Rectangle:xRectangle:y长,宽,高:lengthwidthHigh体积Volumeendl;int _tmain(int argc, _TCHAR* argv)cuboid cub(10,10,10,20,30,30,10,10);cub.Vol(cub);cub.show();return 0;心得体会实验名称 实验四 多态性 实验目的和要求1. 掌握C+中运算符重载的机制和运算符重载的方式;2. 理解类型转换的必要性,掌握类型转换的使用方法;3. 理解多态性,掌握虚函数的设计方法;4. 学习使用Visual Studio调试虚函数。实验内容1. 定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。2. 编写一个抽象类SHAPE,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积,计算周长的函数GetPerim();完善类的功能与结构。主要仪器设备台式或笔记本计算机实验代码和运行结果1.用友元函数编写#include stdafx.h#includeiostreamusing namespace std;class Complexprivate:double real,imag;public:Complex(double r,double i)real=r;imag=i;friend Complex operator-=(Complex &a,Complex &b);void display();Complex operator-=(Complex &a,Complex &b)a.real=a.real-b.real;a.imag=a.imag-b.imag;return Complex(a.real,a.imag);void Complex:display()cout(real.imagi)endl;int _tmain(int argc, _TCHAR* argv)Complex c1(10,20),c2(15,30);c2-=c1;coutc1=;c1.display();coutc2=;c2.display();return 0;用成员函数编写#include stdafx.h#includeiostreamusing namespace std;class Complexprivate:double real,imag;public:Complex(double r,double i)real=r;imag=i;Complex operator-=(Complex &b);void display();Complex Complex:operator-=(Complex &b)real=real-b.real;imag=imag-b.imag;return Complex(real,imag);void Complex:display()cout(real.imagi)endl;int _tmain(int argc, _TCHAR* argv)Complex c1(10,20),c2(15,30);c2-=c1;coutc1=;c1.display();coutc2=;c2.display();return 0;2.#include stdafx.h#include#define PI 3.1415926;using namespace std;class Shapepublic:virtual double GetArea() = 0; virtual double GetPerim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业转型升级与技术创新路径
- 工业自动化技术进步与产业发展分析报告
- 工业自动化技术发展趋势及实施方案
- 工业遗产改造为旅游景区的成功案例分析
- 工作场所卫生安全标准解读与实施
- 工业领域新能源技术的推广与应用
- 工业风办公空间设计案例分享
- 工作场合的表达艺术
- 工程教育在学术研究与工作实战的关联分析
- 工厂环境中的空调系统配置
- 人工智能导论单元练习题1及答案
- 2024年浙江杭州萧山区城市社区工作者招聘笔试冲刺题(带答案解析)
- 2024年安徽合肥东方英才人才限公司招聘5人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 乳牙疾病的治疗与预防
- 肾绞痛的护理
- 《麦肯锡金字塔原理》课件
- 《自动控制原理》说课
- 《内部控制》ppt课件完整版
- 医疗器械(耗材)项目投标服务投标方案(技术方案)
- 2024年中国石油集团招聘笔试参考题库含答案解析
- 《内保条例培训讲座》
评论
0/150
提交评论