《C++面向对象程序设计》实验内容

上传人:cl****1 文档编号:488135213 上传时间:2022-12-22 格式:DOCX 页数:16 大小:40.86KB
返回 下载 相关 举报
《C++面向对象程序设计》实验内容_第1页
第1页 / 共16页
《C++面向对象程序设计》实验内容_第2页
第2页 / 共16页
《C++面向对象程序设计》实验内容_第3页
第3页 / 共16页
《C++面向对象程序设计》实验内容_第4页
第4页 / 共16页
《C++面向对象程序设计》实验内容_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

1、C+面向对象程序设计实验内容总学时:24学时实验1 C+程序设计初步1、实验目的(1) 了解在C+编译系统(Visual C+6.0)上如何编辑、编译、连接和运行一个C+程序。(2) 通过运行简单的C+程序,初步了解C+源程序的结构和特点。(3) 掌握简单C+程序的编写和调试方法。(4) 掌握重载函数的定义方法。(5) 能正确使用引用型变量。2、实验内容和步骤(1) 在Visual C+环境下编译和运行C+程序 先进入Visual C+6.0环境。 在自己指定的子目录中建立一个名为test.cpp的新文件。 从键盘输入以下程序int main()int a,b;c=a+b;cout “a+b=

2、”a+b;选择BuildCompile tes t.cpp命令,对此源程序进行编译。观察和分析编译信息。 根据编译信息指出的错误,修改程序。再进行编译,如果还有错,再重复此过程,直到编 译不出错为止。 选择BuildBuild test.exe命令,对程序进行连接,如果不出错,就会生成可执行程序 test.exe。 选择BuildExecute test.exe命令,执行可执行程序test.exe。观察屏幕的变化。在 输出窗口应显示程序运行结果。 分析结果是否正确,如果不正确或认为输出格式不理想,可以修改程序,然后重新执行以 上和步骤。(2) 编一个程序,用同一个函数名对n个数据进行从小到大排

3、序,数据类型可以是整型、 单精度型、双精度型。用重载函数实现。(3) 对3个变量按由小到大顺序排序,要求使用变量的引用。学时数:2学时实验2类和对象(一)1、实验目的(1) 掌握声明类的方法,类和类的成员的的概念以及定义对象的方法。(2) 初步掌握用类和对象编制基于对象的程序。(3) 学习检查和调试基于对象的程序。2、实验内容(1)有以下程序: #include using namespace std; class Timepublic:int hour;int minute;int sec;int main( ) Time t1; cint1.hour; cint1.minute; cint

4、1.sec;/定义Time类/数据成员为公用的/定义tl为Time类对象/输入设定的时间couttl.hour“:”tl.minute“:”tl.secendl; /输出时间return 0;改写程序,要求: 将数据成员改为私有的; 将输入和输出的功能改为由成员函数实现; 在类体内定义成员函数。然后编译和运行程序。请分析什么成员应指定为公用的?什么成员应指定为私有的?什么函 数最好放在类中定义?什么函数最好放在类外定义?(2)分别给出如下的3个文件:含类定义的头文件student.h./student.h class Student public: void display( );privat

5、e:int num;char name20; char sex; 包含成员函数定义的源文件student.cpp /student.cpp#include #include “student. h” void Student:display( ) cout“num:”numendl; cout“name:”nameendl; cout“sex:”sexendl; 包含主函数的源文件main.cpp。(这是头文件,在此文件中进行类的声明)/类声明/公用成员函数原型声明/在此文件中进行函数的定义/不要漏写此行,否则编译通不过/在类外定义display类函数为了组成一个完整的源程序,应当有包括主函数

6、的源文件:/main.cpp 主函数模块#include #include “student.h”/将类声明头文件包含进来int main( )Student stud;/定义对象stud.displayO;/执行 stud 对象的 display 函数return 0;请完善该程序,在类中增加一个对数据成员赋初值的成员函数set_value。上机调试并运行。(3)需要求3个长方柱的体积,请编一个基于对象的程序。数据成员包括length(长)、 width(宽)、height(高)。要求用成员函数实现以下功能: 由键盘分别输入3个长方柱的长、宽、高; 计算长方柱的体积; 输出3个长方柱的体积。

7、 请编程序,上机调试并运行。学时数:2学时实验3类和对象(二)1、实验目的(1) 进一步加深对类和对象的理解。(2) 掌握类的构造函数和析构函数的概念和使用方法。(3) 掌握对对象数组、对象的指针及其使用方法。(4) 掌握友元的概念和使用。(5) 了解类模板的使用方法。2、实验内容(1) 有以下程序#include class Studentpublic:Student(int n,float s):num(n),score(s) void change(int n,float s)num=n;score=s;void display()coutnum“ ”scoreendl; private

8、:int num;float score;void main()Student stud(101,78.5);stud.display();stud.change(101,80.5);stud.display(); 阅读此程序,分析其执行过程,然后上机运行,对比输出结果。 修改上面的程序,增加一个fun函数,改写main函数。在main函数中调用fun函数, 在fun函数中调用change和display函数。在fun函数中使用对象的引用(Student&)作 为形参。(2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销 售时灵活掌握售价(price),在此

9、基础上,对一次购10件以上者,还可以享受9.8折优惠。 现已知当天3个销售员销售情况为销货员号(n um)101102103销货件数(quantity)销货单价(price)523.51224.5610021.5请编程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成 员和静态成员函数。(提示:将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定 义静态成员函数average (求平均售价)和display (输出结果)。(3)有以下程序:#include using namespace std; class Date;class Time

10、public: Time(int,int,int); void display(Date &);private:int hour;int minute;int sec;/对Date类的提前引用声明/定义Time类/display是成员函数,形参是Date类对象的引用class Date/声明 Date 类public:Date(int,int,int);friend void Time: :display(Date &); /声明 Time 中的 display 函数为友元成员函数 private:int month;int day;int year;Time :Time(int h,int

11、m,int s)/类 Time 的构造函数hour=h;minute=m;sec=s;void Time: :display(Date &d)/display的作用是输出年、月、日和时、分、秒coutd.month “/”d.day “/”d.yearendl;/引用 Date 类对象中的私有数据couthour“:”minute“:”secendl;/引用本类对象中的私有数据Date:Date(int m,int d,int y)/类 Date 的构造函数month=m;day=d;year=y;int main( )/定义Time类对象t1/定义Date类对象di/调用t1中的displa

12、y函数,实参是Date类对象diTime t1(10,13,56); Date d1(12,25,2004);t1.display(d1);return 0;请读者分析和运行此程序,注意友元函数Time:display的作用。将程序中的display函数 不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明 为友元函数。在主函数中调用displa y函数display函数分别引用Time和Da te两个类的 对象的私有数据,输出年、月、日和时、分、秒。修改后上机调试和运行。(4) 有以下使用类模板程序:#include iostream using n

13、amespace std;templateclass numtype/定义类模板class Comparepublic:Compare(numtype a,numtype b)x=a;y=b;numtype max( )return (xy)?x:y;numtype min( )return (xy)?x:y;private:numtype x,y;int main( )Compareintcmpl(3,7);/定义对象cmpi,用于两个整数的比较coutcmpi.max( )“is the Maximum of two integer numbers.”endl; coutcmpi.min( )“is the Minimum of two integer numbers. ”endlendl; Comparefloatcmp2(45.7& 93.6);/定义对象cmp2,用于两个浮点数的比较coutcmp2.max( ) coutcmp2.min( ) Comparechar cmp3(z coutcmp3.max( ) coutcmp3.min( )is the Maximum is the Minimum a,A);is the Maximum is the Minimumof two float numbers. ”endl; of two

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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