C面向对象程序设计上机实践指导
面向对象程序设计c实验指导书
实验一熟悉VC++IDE开发环境一、实验目的一、熟悉VC++集成开发环境,熟练把握VC++项目工作区、各类编辑器、菜单栏和工具栏的利用。
二、把握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求一、分析以下程序运行的结果。
程序一:#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;i=*p+10;cout<<"i="<<i<<endl;}程序三:#include <>void main(void){ int i=10;int &r=i;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的扩充一、实验目的一、了解在面向对象程序设计进程中C++对C功能的扩充与增强,并擅长在编写程序的进程中应用这些新功能。
《面向对象程序设计》_上机指导书
《面向对象程序设计》实验指导书实验一 C++程序的编辑、编译、连接和运行一、实验目的(1)熟练VC编译系统的操作环境(2)掌握编辑、编译、连接和运行一个C++程序的基本过程(3)应用项目的建立(4)程序的运行,调试等二、实验内容(1)教材P68~72:例3-4、例3-5、例3-6。
(2)调试要求掌握编辑、编译、连接和运行一个C++程序的基本过程,可设置程序断点、可进行单步跟踪调试。
三、实验步骤(1)创建一个VC的项目学会创建VC的工程项目文件,并能编写源代码文件(.h、.cpp),添加进工程。
1,创建项目:在菜单“文件”——“新建”,如下图:2,添加文件进工程:右键点击工程名——选择Add Files to Project…(2)编写并调试源程序1,源代码请参照《C++语言程序设计(第4版)》P68~722,重点学会打断点,单步调试,察看变量等,如下图:实验二类与对象一、实验目的(1)掌握类定义的基本格式和类成员的访问控制;(2)掌握对象定义和利用构造函数对对象的数据成员进行初始化的方法二、实验内容编写如下要求的完整程序:类对象构造与析构(1)定义四个类:CPU、RAM、CDROM、COMPUTER(2)具体要求1,每个类定义构造函数和析构函数,如结果图输出2,每个类分别定义run和stop接口函数3,COMPUTER为组合类,包含CPU、RAM、CDROM的对象4,主函数:定义一个COMPUTER对象,并调用run和stopCPU和RAM的run和stop事件由COMPUTER调用结果如下图(供参考):三、实验步骤(1)创建工程项目(2)程序设计1,类申明构造函数,与类名同名的函数,当申明对象时自动调用,通常用于初始化;析构函数,~类名,当对象消亡时自动调用,通常用于清理现场。
2,定义接口:public类型的成员函数3,组合类:即类的成员变量中包含其它多个类的对象(3)程序调试与测试实验三多文档程序,类的静态成员和友元一、实验目的(1)掌握多文档结构程序设计方法;(2)掌握类的静态成员和友元;二、实验内容编写如下要求的完整程序:客户端对象信息访问(1)C++程序由多个文件组成,包括:类申明的头文件,类实现文件,主程序文件(2)具体要求1,在头文件中申明类CLIENT,在CPP文件中实现类CLIENT2,类中申明:静态成员变量服务器名ServerName和客户机数量ClientNum静态成员函数GetClientNum——获得客户机数量静态成员函数ChangeServerName——设置服务器名静态成员函数GetServerName——获得服务器名友元函数PrintServerNameAndClientNum——屏幕输出服务器名和客户机数目3,类的构造函数将客户机数目加1,析构函数将客户机数目减14,主函数:定义多个CLIENT对象;应用静态成员方式设置服务器名,访问服务器名和客户机数量;应用友元函数访问服务器名和客户机数量。
11427-C++面向对象程序设计-实验指导书
11427-C++面向对象程序设计-实验指导书实验1 环境熟悉和类与对象1.实验目的(1)熟悉上机环境,了解编译过程中常见的错误与解决办法。
(2)学会编写简单的C++程序并会用debug调试程序。
(3)观察构造函数和析构函数的执行过程。
(4)掌握动态内存分配的两个运算符的使用(5)掌握函数参数的三种传递方式。
(6)学习利用友元求解问题。
2.实验内容(1)定义一个学生类,学生信息有学号、姓名和成绩。
成绩包括计算机、英语、数学成绩和平均分。
要求利用队列实现学生的入队、出队和显示等功能。
算法思路:定义一个类Student,数据成员有:学生信息,进行入队、出队和显示操作的front(队头)、rear(队尾)和num(统计队列中元素的个数),其中学生信息定义成结构体类型的数组;成员函数有学生的入队操作、出队操作和显示操作,通过构造函数对学生信息进行初始化。
(2)定义一个图书类,图书信息有图书名称、作者、出版社、价格。
要求利用栈实现图书的入库、出库和显示等功能。
算法思路:定义一个类Stack,数据成员有:图书信息,进行入库、出库和显示操作的top(栈顶指针),其中图书信息定义成结构体类型的数组;成员函数有图书的入库、出库和显示操作,通过构造函数对图书信息进行初始化。
(3)有Distance类和Point类,将Distance类定义为Point类的友元类来实现计算两点之间距离。
实验2 函数重载与内联函数1.实验目的(1)掌握函数重载的应用。
(2)理解内联函数的作用,掌握内联函数的应用。
2.实验内容(1)利用重载求两个整数、三个整数和四个整数的最小值。
(2)利用重载计算长方形、正方形、圆、梯形的面积。
(3)利用重载编写求整数绝对值和求实数绝对值。
(4)利用重载实现对10个整数和10个实数的排序。
(5)判断一个字符是否为数字字符,要求用内联函数实现。
实验3 常量与引用1.实验目的(1)理解常量的含义与#define的区别。
面向对象的程序设计实验教学指导书
《面向对象程序设计课程》实验教学指导书山东协和职业技术学院计算机学院二○○七年十二月前言一、实验总体目标《面向对象程序设计》课程在计算机科学与技术专业教学计划中,是一门重要的理论联系实际的专业基础课。
其主要任务是使学生掌握OOP的编程思想和方法、能运用C++语言,在Visual C++的IDE环境下编写各种应用程序。
实验课是本课程重要的教学环节,其目的是使学生掌握OOP的编程思想和方法,C++语言的语法特点、程序结构、主要技术及编程技巧,能在Visual C++的IDE环境下编写各种Win32应用程序,使学生学以致用,提高学生的实践动手能力以及分析问题、解决问题的能力。
二、适用专业年级适用专业: 计算机软件三、先修课程计算机文化基础,C++语言程序设计四、实验项目及课时分配(说明:实验要求填必修或选修;实验类型填演示性、综合性、验证性、设计性或研究创新性。
)五、实验环境微机,Microsoft Visual 6.0六、实验总体要求通过该实验要求学生掌握C++程序设计语言与面向对象程序设计的基本概念和方法,具有使用C++语言的编程能力,具有采用面向对象程序设计方法解决实际问题的能力。
为《数据结构》、《信息系统分析与设计》、《电子商务系统分析与设计》等后续课程打下良好基础。
七、本课程实验的重点、难点及教学方法建议1、按照课程有关章节内容要求,预先编写出程序;2、上机输入、编译、调试、运行程序直到得到正确结果;3、分析总结编程方法实验一:练习设计、使用类并熟悉编程环境一、实验目的:学会定义类学会构造类的方法领会面向对象程序设计的方法熟悉编程环境二、实验内容:(1)设计一个用来表示直角坐标系上点的位置的Location类,然后在主程序中创建两个对象A和B,要求A在第三象限,B在第二象限,计算给定两点之间的距离并按如下格式输出结果:A(x1,y1),B(x2,y2)Distance=d其中x1,y1,x2,y2为指定值,d为计算结果。
面向对象程序设计VC上机指导书
(语言:Visual C++)姓名:_________________ 班级学号:_________________ 院系:_________________指导原则:为了使学生更快更好地掌握所学知识,技能和软件开发方法目的:掌握面向对象程序设计的基础知识熟练使用VC开发环境开发掌握VC程序的调试技巧掌握应用程序的开发步骤要求:1,每个实验应独立完成,并以组为单位写出实验的报告,除负责人外,其它组成员手动签名及学号。
分组可以自由组合,但应集中各个层次的人员,实行优化组合,且相对固定。
2,实验报告在完成基本功能的情况下,应尽可能丰富其内容。
时间:必须在考试前上交。
每组每个题都必须有。
第一次上机作业熟悉VC集成开发环境实验目的:熟悉VC应用程序向导创建应用程序熟悉项目工作区的三个视图窗口及其作用熟悉五个资源编辑器的使用熟悉工具栏的打开与隐藏掌握应用程序的编辑,编译,调试,运行四步骤。
实验内容:1, 利用MFC AppWizard(应用程序向导)建立一个名为Mymdi的多文档程序,并完成以下工作:(1)将程序的大小图标改为MDI(2)在工具栏上添加一个“-”按钮(3)将“文件”菜单的命令“保存(S)”改为“保存(W)”,并将快捷键改为Ctrl+W (4)将程序运行后底部状态栏的显示信息改为“这是一个多文档应用程序”(5)在版本信息中的公司名栏上添上你的姓名,将版本号改为1.1,并修改为“关于。
”对话框中相应的显示信息。
(6)隐藏工具栏中的所有工具条(toolbar)(7)查阅帮助文档MSDN,ployline()函数的使用说明(8)编译该应用程序,观察运行结果是否符合要求操作步骤:一,利用应用程序向导生成应用程序柜架1. 执行File|New菜单命令,出现New对话框。
在Project页面窗口中选择MFC AppWizard[exe]选项,在Project Name编辑框中输入项目名称Mysdi,在location编辑框中输入保存项目的路径。
《C--面向对象程序设计》实验指导书(彭成)
《C++面向对象程序设计》实验指导书主讲:彭成湖南工业大学计算机学院2016-9-20目录实验一 DEV C++开发环境及C++程序的上机过程一、实验目的1、了解和使用C++集成开发环境;2、熟悉C++环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、学习使用C++环境的帮助;5、学习完整的C++程序开发过程;6、理解简单的C++程序结构二、实验内容使用Visual C++ 6.0集成环境来编辑、编译并运行下面简单C++程序:1.#include <iostream>using namespace std;int main(){cout<<"This is a C++ program.\n";}2.#include <iostream>using namespace std;int max(int,int); //声明自定义函数int main() //主函数{int a,b,c;cout<<"input two number:\n";cin>>a>>b;c=max(a,b); //调用max函数,将得到的值赋给Ccout<<"max="<<c<<endl;}int max(int x,int y) //定义max函数,函数值为整型,形式参数x,y为整型{int z; //max函数中的声明部分,定义本函数中用到的变量z为整型if(x>y) z=x;else z=y;return(z); //将z的值返回,通过max带回调用处}三、实验步骤Dev-C++是一个Windows环境下C/C++的集成开发环境(IDE),它是一款自由软件,遵守GPL许可协议分发源代码。
使用起来非常方便。
对于初学者而言还是有些迷茫。
首先来看看如何建立一个项目。
面向对象程序设计(C )实验指导_精简版_befine
面向对象程序设计(C++)实验指导一、实验环境本实验基于当前主流的面向对象开发平台,编码规范遵循主流的参考规范。
二、编程语言和开发工具C++语言,开发工具不限,建议使用Visual C++ 6.0版本三、编码规范(编码规范的要求)要求遵循良好的的程序设计习惯来设计实验和编写代码。
(注:如果你将程序的很多功能全部放在一个长长的main()主函数中实现,这样的程序设计和编码风格会被扣分,请将不同的功能模块分别用函数来实现。
)1.在实验过程中应注意培养规范的编码风格:2.标识符的命名应要求达到顾名思义的程度,一看就知道用来做什么;3.提供足够的注释,注释文字清晰明了;4.程序排版的要求:a)不同功能模块用空行分隔,使功能块一目了然;b)基本上一条语句一行;同一层次的语句统一缩进对齐。
四、实验见后文……五、注意事项所有实验要求独立完成,同学之间可以讨论,但严禁抄袭,若发现雷同,抄袭者和被抄袭者此次实验成绩均记零分。
实验一 C++基础 (2课时)实验目的和要求:1. 掌握C++程序的基本格式与规范,学会编写简单的C++程序。
2. 理解C++程序结构的特点。
3. 熟悉C++程序的基本输入输出操作。
4. 掌握内联函数的使用方法。
5. 掌握函数重载的定义和使用方法。
6. 掌握C++内存的动态分配与释放方法。
7. 理解引用的概念,掌握引用的使用方法。
预习内容:cin/cout 的使用;new 和delete 的使用;函数重载;const 常量。
实验内容:1、用内联函数编写Fibonacci 级数,使用if 语句判断函数的出口,在程序中用cout 语句输出提示信息,Fibonacci 级数的公式为:⎩⎨⎧>-+-==2)2()1(2,11)(n n fib n fib n n fib 内联函数inline int fib(int n)。
2、程序Ex_Swap 实现数据交换。
分别用指针和引用作为函数mySwap 的形参,并通过重载int 、double 型变量值的交换。
面向对象程序设计(c++)实验指导手册
实验指导手册《面向对象的程序设计》(C++)屈克文整理计算机科学与工程学院目录第一部分上机实验的指导思想和要求 (2)第二部分关于程序的调试和测试 (5)第三部分实验内容与安排 (11)实验一C++程序的运行环境和运行C++程序的方法 (11)实验二C++对C的扩充 (12)实验三类和对象(一) (14)实验四类和对象(二) (18)实验五继承与派生 (22)实验六运算符重载 (26)实验七多态性与虚函数 (33)实验八输入输出流 (37)实验九 C ++工具 (41)实验十类模板 (41)实验十一指针与引用 (44)第一部分上机实验的指导思想和要求一、上机实验的目的程序设计是一门实践性很强的课程,必须十分重视实践环节。
许多实际的知识不是靠听课和看书学到手的,而是通过长时间的实践积累的。
要提倡通过实践去掌握知识的方法。
必须保证有足够的上机实验时间,学习本课程应该至少有30 小时的上机时间,最好能做到与授课时间之比为1:1 。
除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。
上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。
学习程序设计,上机实验的目的是:(1)加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们是很重要的,初学者的程序出错往往错在语法上。
通过多次上机,就能自然地、熟练地掌握。
通过上机来掌握语法规则是行之有效的方法。
(2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉C++程序开发的环境。
一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。
使用者应该了解为了运行一个C++程序需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。
每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一两种计算机系统的使用,再遇到其他系统时便会触类旁通,很快地学会。
《面向对象程序设计》实训指导书
《面向对象程序设计》实训一、实训目的:1.使学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握并综合运用C++语言进行程序设计,增强实际编程能力,从而达到用C++语言进行中等难度程序开发的目标。
2.使学生掌握面向对象设计开发的基本思想和方法。
加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。
3.培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。
4.培养和提高学生的逻辑思维、抽象思维和统筹规划能力;培养学生独立完成程序设计开发的工作能力。
二、实训环境:1.操作系统平台:Windows 2000 / Windows XP2.程序设计平台:VC++ 6.03.其它应用软件:Word、Visio等三、实训基本要求:1.熟练掌握C++语言的各种语法成分;深入理解面向对象语言的各种概念,能够准确应用C++语言提供的编程机制,如:类的定义、类的继承、抽象类的定义、操作符的重载等。
熟练掌握多文件结构。
2.具备常用算法的设计能力,能运用面向对象方法,解决实际问题。
3.能熟练使用VC++编程环境,掌握VC++中的调试功能。
4.熟练掌握程序设计中多文件组织结构的编写方法。
5.实训选题要求实训题目可以是学生自选题目或教师指定题目。
学生自选题目必须写出开题报告,阐明题目内容和功能要求,经教师审核通过后方可作为正式选题。
6.课题规模要求(1)题目涉及的自定义基础类应不少于2个、必须有派生类。
(2)题目涉及的主要功能模块应有3-5个,或更多。
(3)数据的存储可直接存到内存或使用文件,也可以使用数据库。
(4)用户界面可以是命令行方式下(要求做成简易菜单形式),也可以采用图形界面,界面个数应不少于3个。
(5)每个实训题目的选择每班最多不超过5组同学。
7.分工与合作要求每个题目可由一或两个学生(教师规定)共同完成,每组组员之间必须要有明确的程序设计分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。
《面向对象程序设计》实训指导书
《面向对象程序设计》实训一、实训目的:1、学生进一步巩固《面向对象程序设计》课程中所学到的知识,熟练掌握C++语言程序设计,增强实际编程能力。
同时,加强对VC++编程环境的使用能力,掌握VC++编程环境中的调试功能。
从而达到用C++语言进行中等难度程序开发的目标。
2、学生掌握面向对象设计开发的基本思想和方法,培养学生在已有的知识基础上进一步获取新知识的能力,提高分析问题和解决问题的能力。
3、培养和提高学生的逻辑思维、抽象思维和统筹规划能力,培养学生独立完成程序设计开发的工作能力。
为今后从事专业性软件开发工作打下基础。
二、实训环境:1、操作系统平台:Windows 98 / Windows 2000 / Windows XP2、软件开发平台:Visual C++ 6.04、其它应用软件:Microsoft Access / SQL Server ,Word等三、实训的基本要求1、实训选题要求实训题目可以是学生自选题目或教师指定题目。
学生自选题目必须写出开题报告,经教师审核通过后方可作为正式选题。
2、课题规模要求(1)题目涉及的自定义基础类应不少于3个、必须有派生类。
(2)题目涉及的主要功能模块应不少于6个。
(3)数据的存储可以使用数组,使用文件,也可以使用数据库。
(4)用户界面最好采用图形界面,界面个数不少于3个。
3、分工与合作要求每个题目由3个学生共同完成,每组的人数视题目规模由教师规定。
每组组员之间必须要有明确的分工,并独立完成各自的设计任务,最后组内联调、共同整理项目文档。
4、所创建的程序名、类名、文件名要求必须加上本人的姓名拼音。
5、实训内容要求在一周内完成。
晚交者扣3~5分,超过截止日期的实训成绩计为零分。
6、实训报告的具体要求请见后面的“实训报告格式要求”。
四、实训内容:实训题目一、模拟银行储蓄存取款系统请实现一个简单的银行储蓄系统,完成活期用户的存款和取款业务。
要求如下:1.实现描述银行的类,记录系统中现有哪些储户(提示:可用数组实现,但须注意判断数组越界的情况),该类中要求包含三个函数:(1)生成新储户的函数(2)按照账户删除储户的函数(3)按照账户查询储户的函数,要求显示查询结果。
c面向对象程序设计习题解答与上机指导(第二版)源程序
C++面向对象程序设计习题解答与上机指导(第2版)习题参考答案源代码使用源程序的几点注意事项(1) 由于源程序在复制、编辑、解压缩等过程中可能引起部分符号(主要是标点符号,如分号、冒号、逗号、引号)的字体、半全角等发生变化,在编译时可能被检出语法错误,只要使用“替换”功能,纠正后即能顺利运行。
(2) 有的C++系统(如Visual C++6.0)没有完全实现C++标准,它所提供的不带后缀的.h 的头文件不支持友元运算符重载函数,在Visual C++6.0中编译会出错,这时可采用带后缀的.h头文件。
将程序中的#include<iostream>using namespace std;修改成#include<iostream.h>即可顺利运行。
第2章 C++基础【2.2】下面是一个C程序,改写它,使它采用C++风格的I/O语句。
#include<stdio.h>int main(){ int a,b,d,min;printf("Enter two numbers:");scanf("%d%d",&a,&b);min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ printf("No common denominators\n");return 0;}printf("The lowest common denominator is %d\n",d);return 0;}【解】#include<iostream>using namespace std;int main(){ int a,b,d,min;cout<<"Enter two numbers:";cin>>a;cin>>b;min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ cout<<"No common denominators\n";return 0;}cout<<"The lowest common denominator is "<<endl<<d;return 0;}【2.24】写出下列程序的运行结果。
C面向对象程序设计实验指导书样本
《面向对象程序设计》实验指导书适用专业:计算机科学与技术信息与计算科学编写者: 面向对象程序设计课程组3月一、基本目的面向对象程序设计是计算机学科的核心课程之一, C++语言程序设计是当前自20世纪80年代以来迅速推广和广泛使用的一种程序设计语言。
经过本课程实验, 使学生掌握基本的面向对象的程序设计方法, 熟练类与对象、继承与派生、多态性、模板、异常处理机制以及I/O流等程序设计能力, 并利用C++语言进行实际问题的程序设计。
二、实验环境建议使用Microsoft Visual C++ 6.0集成开发环境。
三、实验要求1.每人独立完成实验和实验报告。
2.每个实验包括多个实验题目,要求每个实验在规定时间内设计、实现尽量多的题目。
3.程序书写符合程序书写规范。
四、实验内容五、实验报告每人针对每个实验上交一份实验报告, 不接受不完整的实验报告, 或者说明与程序或结果不符合的实验报告。
实验报告主要包括四方面内容:⑴实验设计按照每个实验题目要求, 设计相应的类以及函数的实现方法, 并用适当的方式进行描述。
(2) 程序清单实验实现的源程序, 要求符合代码行首缩进、单句代码换行、标识符命名合理, 并包括必要的注释。
(3)运行结果原始数据, 程序运行结果截图及说明。
(4) 实验总结调试过程及调试中遇到的问题及解决办法;调试程序的收获心得与体会, 分析不足之处。
实验一 C++程序设计基础练习一、实验目的1、学习编写简单的C++程序, 并掌握C++程序的基本格式与规范。
2、理解C++程序结构的特点。
3、学习C++程序基本的输入输出操作。
4、学习数据类型常量和变量以及修饰符的使用。
5、学习基本的函数定义与调用方法。
6、学习作用域运算符的功能与基本使用方法。
7、学习内存的动态分配与释放方法。
8、学习引用的概念, 掌握引用的基本使用方法。
二、试验内容( 一) 程序填空1、输入并运行所给的下述参考程序, 并将程序中的注释部分也输入计算机, 体会和理解程序的基本格式规范。
面向对象程序设计c++上机实验指导书
选择默认参数的值。请分析本题中默认参数的值应该在什么范围。 (3) 输入两个整数,将它们按由大到小的顺序输出(本题是 C++面向对象程
河南工业大学信息科学与工程学院教案
面向对象程序设计(C++) 实验指导书
主讲教师:
王贵财
所在单位:
计科系
课程代码:
51610025
课程性质:
选修课
课程学时:
36
授课对象: 数学 F1401-03,信计 F1401-1402
开课时间:
2016.5.5
使用教材: 《C++面向对象程序设计题解与上机指导》
序设计》第 1 章习题第 12 题)。 ① 使用指针方法。 ② 使用变量的引用。 比较这两种方法的特点和使用方法。 (4) 对 3 个变量按由小到大的顺序排列,要求使用变量的引用(本题是 C++
面向对象程序设计》第 1 章习题第 13 题)。 ① 使用指针方法。 ② 使用变量的引用。 请总结使用引用时要注意什么问题。 (5) 有 5 个字符串,要求对它们按由小到大的顺序排列,用 string 方法(本
#include <iostream> using namespace std; int main() { int a,b; c=add(a,b); cout<<" a+b="<<c<<endl; return 0; } int add(int x,int y); { z=x+y; return(z); }
《面向对象程序设计》实验指导书
《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。
通过上机作业进一步加深对课程基本内容的理解。
同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。
由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。
其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。
二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。
三、主要仪器设备PC机器一台。
装有C++builder 或Visual C++或其他的C++编译软件。
四、实验方式与基本要求要求把每次实验的程序文本和运行结果通过邮件方式发送给实验指导老师.五.考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的30%。
实验报告的规范:实验完成后填写统一的实验报告,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。
实验0、C++开发环境应用(课外实验 2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(2)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤(1)启动Visual C++开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC++)。
面向对象程序设计(C++) 实验指导书
7 27 29 1
各行、各列以及对角线值的和都是64.
【提示】
求4*4魔方的一般步骤如下:
(1)设置初始魔方的起始值和相邻元素之间的差值。例如上述魔方的初始魔方的起始值(first)和相邻元素之间的差值(step)分别为:
first=1
step=2
(2)设置初始魔方元素的值。例如上述魔方的初始魔方为:
int *p =alist;
for(i=0;i<length;i++,p++)
}
Coordinate(Coordinate &p);
~Coordinate()
{ cout<<"Destructor is calleded\n";}
int getx()
{return x;}
int gety()
{return y;}
private:
int x,y;
};
Coordinate::Coordinate(Coordinate &p)
{ x=p.x;
y=p.y;
cout<<"copy-initialization Constructou is called\n";
}
int main()
{ Coordinate p1(3,4);
Coordinate p2(p1);
Coordinate p3=p2;
Coordinate p4;
Coordinate p5(2);
(2)掌握不同继承方式下,基类成员在派生类中的访问属性。
(3)掌握在继承方式下,构造函数与析构函数的执行顺序与构造规则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录 《C++语言基础》实践项目(一)2《C++语言基础》实践项目(二)7《C++语言基础》实践项目(三)13《C++语言基础》实践项目(四)24《C++语言基础》实践项目(五)36《C++语言基础》实践项目(六)51《C++语言基础》实践项目(七)66《C++语言基础》实践项目(八)71《C++语言基础》实践项目(九)76东华理工大学软件学院面向对象程序设计上机实践指导2016-4-10《C++语言基础》实践项目(十)84《C++语言基础》实践项目(十一)89《C++语言基础》实践项目(十二)99《C++语言基础》实践项目(一)——初识对象【项目1 - 旱冰场造价】有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M 元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。
一级提示:先定义类,确定其数据成员和成员函数。
在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。
有了类的定义,在main 函数中定义该类对象,调用成员函数即可以完成求解。
二级提示:实际上,对于旱冰场,我们只关心它就是一个圆。
这就是设计中抓住了本质。
于是,设计一个Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数。
在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。
三级提示:请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;(2)在类声明和main()函数之间,定义声明的成员函数。
const int M=20; //水泥场地每平米造价const int N=35; //围栏每米造价class Circle{//下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)public:private:double radius;};//下面定义需要的成员函数int main(){double r;cout<<"请输入旱冰场的半径: ";cin>>r;Circle c;c.setRadius(r);cout<<"旱冰场的造价为 "<<M*c.area()+N*c.circumference()<<"元。
"<<endl;return 0;}【项目2 - 长方柱类】编写基于对象的程序,求3个长方柱(Bulk)的体积。
数据成员包括长(length)、宽(width)、高(heigth)、体积,要求设计成员函数实现下面的功能:(1)由键盘输入3个长方柱的长、宽、高;(2)计算长方柱的体积(volume)和表面积(areas);(3)输出这3个长方柱的体积和表面积;【项目3 - 时间类】阅读、运行程序后,按要求扩充类的功能#include <iostream>using namespace std;class Time{public:void set_time( );void show_time( );private:bool is_time(int, int, int); //这个成员函数设置为私有的,是合适的,请品味int hour;int minute;int sec;};void Time::set_time( ){char c1,c2;cout<<"请输入时间(格式hh:mm:ss)";while(1){ cin>>hour>>c1>>minute>>c2>>sec;if(c1!=':'||c2!=':')cout<<"格式不正确,请重新输入"<<endl;else if (!is_time(hour,minute,sec))cout<<"时间非法,请重新输入"<<endl;elsebreak;}}void Time::show_time( ){cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m, int s){if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60) return false;return true;}int main( ){Time t1;t1.set_time( );T1.show_time( );return 0;}要求:(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)add_a_sec() //增加1秒钟add_a_minute() //增加1分钟add_an_hour() //增加1小时在main()数中,调用新增加的成员函数,以测试扩充后的功能。
(2)再增加三个成员函数,要求在类内声明,类外定义。
add_seconds(int) //增加n秒钟add_minutes(int) //增加n分钟add_hours(int) //增加n小时提示:要考虑增加后超出取值范围的情形;增加n秒后,秒数可能会超过60,调整秒数,并可以调用增加分钟数的成员函数,使时间合法;同理,增加分钟数也有类似问题。
【项目4 - 图书馆的书】编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。
定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管理系统,每本书都能追踪到是谁何时借了,何时还了)业务,定义成员函数print用于输出—有关书的信息,定义set_NO及get_NO来实现修改类对象的书号及获得类对象的书号。
自己写main函数,用来测试你编写的类。
《C++语言基础》实践项目(二)——和对象找感觉【项目1 - 三角形类1】下面设计一个三角形类,请给出各成员函数的定义//请在下面定义Triangle类中的各个成员函数#include<iostream>#include<Cmath>using namespace std;class Triangle{public:void setABC(double x, double y, double z);//置三边的值,注意要能成三角形void getABC(double *x, double *y, double *z);//取三边的值double perimeter(void);//计算三角形的周长double area(void);//计算并返回三角形的面积private:double a,b,c; //三边为私有成员数据};int main(){Triangle tri1; //定义三角形类的一个实例(对象)tri1.setABC(4,5,6); //为三边置初值double x,y,z;tri1.getABC (&x,&y,&z); //将三边的值为x,y,z赋值cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;return 0;}//请在下面定义Triangle类中的各个成员函数【项目2 - 三角形类2】程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义。
int main(){Triangle tri1; //定义三角形类的一个实例(对象)double x,y,z;cout<<"请输入三角形的三边:";cin>>x>>y>>z;tri1.setA(x);tri1.setB(y);tri1.setC(z); //为三边置初值if(tri1.isTriangle()){cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl;cout<<"三角形的周长为:"<<tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;}elsecout<<"不能构成三角形"<<endl;return 0;}【项目3 - 程序的多文件组织】利用多文件组织,重新实现项目2。
其中,整个项目包括3个文件:主文件: main.cpp,用于定义main()函数头文件: triangle.h,头文件,声明类,定义内置成员函数类定义文件: triangle.cpp,用于定义类Triangle中其他成员函数注意,将3个set函数和3个get函数设计成内置成员函数,其他函数不作为内置函数。
【项目4 - 考了语文数学的学生】下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序#include<iostream>using namespace std;class Stu{private:string name; //学生姓名float chinese; //语文成绩float math; //数学成绩//接下去写};int main(){Stu s1,s2;s1.setStudent("Lin daiyu", 98, 96); //对象置初值s2.setStudent("Jia baoyu", 90, 88); //对象置初值s1.show();//打印信息s2.show();//打印信息s1.setName("xue baochai");//重新置p1对象的名字s1.show();cout<<": "<<s1.getName()<<endl;//打印对象的名字cout<<"s1.average: "<<s1.average()<<endl;//打印对象的成绩return 0;}【项目5 - 数组作数据成员】设计一个工资类(Salary),其中类的数据成员如下:class Salary{private:double salarys[50]; //多人的工资int number; //实际人数};要设计的成员函数有:void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;void add_salarys(int x):给每个人涨x元工资void sort_salarys():对工资排序void show_salarys( ):显示工资信息(1)在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。