本科实验报告.docx
本科实验报告课程名称:面向对象程序设计实验项目:类与对象程序设计实验地点:慎思楼505专业班级:14教本一班学号:140401041122学生姓名:聂子建指导教师:刘立云2015年10月16日一、实验目的和要求(I)掌握类的定义和使用、成员函数的定义和使用;(2)掌握类的私有成员、公有成员和保护成员的区别;(3)掌握对象的定义、类成员的访问;(4)掌握类中构造函数与析构函数的应用。(5)掌握重载函数的定义和使用。二、实验内容和原理请检查下面程序,找出错误并改正。然后上机调试,使之能正常运行。运行时从键盘输入时、分、秒的值,检查输出是否正确。三、主要仪器设备HP6460b;VisualStudio2008软件环境。四、操作方法与实验步骤源程序:ftinclude<iostream.h>classTimevoidset_time(void);voidshow_time(void);inthour;intminute;intsec;;Timet;intmain()set-time();show_time();)voidset_time(void)cin>>t.hour;cin>>t.minute;cin>>t.sec;voidshow_time(void)cout<<t.hour«/,<t.minute<<,z:"<<t.sec<<endl;修改后程序:#include<iostream.h>classTimepublic:inthour;intminute;intsec;);Timet;voidset_time(void)cin>>t.hour;cin>>t.minute;cin>>t.sec;voidshow_time(void)cout<<t,hour<<":H«t.minute«":,<<t.sec<<endl;intmain()set-time();show_time();return0;)程序错误:f:c+作业22l.cpp(l1):errorC2065:'set-time':undeclaredidentifierf:c+lk22l.cpp(12):errorC2065:,show-time,:undeclaredidentifierf:c+作业22l.cpp(13):warningC4508:,main':functionshouldreturnavalue;,void'returntypeassumedf:c+221.cpp(15):errorC2373:,set-time':redefinition;differenttypemodifiersf:c+作业22l.cpp(15):errorC2248:'hour':cannotaccessprivatememberdeclaredinclass'Time'f:c+作业22l.cpp(5):seedeclarationof'hour'f:c+作业22l.cpp(16):errorC2248:'minute':cannotaccessprivatememberdeclaredinclass'Time'f:c+作业22l.cpp(6):seedeclarationof'minute'f:c+作业22l.cpp(17):errorC2248:,sec,:cannotaccessprivatememberdeclaredinclass'Time'f:c+作业22l.cpp(7):seedeclarationof,sec'f:c+作业22l.cpp(20):errorC2373:,show-time,:redefinition;differenttypemodifiersf:c+作业22l.cpp(20):errorC2248:'hour':cannotaccessprivatememberdeclaredinclass'Time'f:c+作业22l.cpp(5):seedeclarationof'hour'f:c+作业22l.cpp(20):errorC2248:'minute':cannotaccessprivatememberdeclaredinclass'Time*f:c+作业22l.cpp(6):seedeclarationof'minute'f:c+作业22l.cpp(20):errorC2248:,sec,:cannotaccessprivatememberdeclaredinclass'Time,f:c+作业22l.cpp(7):seedeclarationof,sec,五、实验数据记录和处理12253412:25:34Pressanykeytocontinue六、实验结果与分析(1)set_time函数和show_time函数放在Time类的类体中,这表示是Time类的成员苗数,但是在定义这两个函数时是按一般函数定义的。(2)在main函数中调用set_time函数和show_time函数,而这两个函数是在main函数之后定义的,而在main函数中并未对这两个函数进行声明。七、讨论、心得通过这次实验可以深刻体会到类的作用,熟悉了类的定义和使用、成员函数的定义和使用。掌握类的私有成员、公有成员和保护成员的区别。而在类中函数的调用离不开对象,掌握对象的定义、类成员的访问十分必要,简介明了的语句使程序易懂。类中构造函数与析构函数的应用,则是十分基础与必要的。从重载函数的使用中也体会到重载函数的简介性。体会到很多与C语言不同的东西,C+显得更为“人性化”,可读性、可操作性强。