实验四类和对象
电子信息学院 实验报告书
课 程 名: 面向对象程序设计 题 目: 实验4 类和对象
实验类别: 设计研究型
班 级: BX1004 学 号: 35 姓 名: 赵鑫
评语: 实验态度:认真( ) 一般( ) 差( ) 实验结果:正确( ) 部分正确( )错( ) 实验理论:掌握( ) 熟悉( ) 了解( ) 不懂( ) 操作技能:强( ) 一般( ) 差( ) 实验报告:好( ) 一般( ) 差( ) 成绩: 指导教师: 陈群贤 批阅时间: 年 月 日
一.实验目的
(1)掌握声明类的方法,类和类的成员的概念以及定义对象的方法。 (2)初步掌握用类和对象编制基于对象的程序 (3)学习检查和调试基于对象的程序 二.实验内容
(1)有以下程序:
#include
class Time //定义Time类
{ public: //数据成员为公用的 int hour; int minute; int sec; };
int main()
{ Time t1; //定义他为Time类对象 cin>>ti.hour; //输入设定时间 cin>>ti.minute; cin>>ti.sec;
cout< 改写程序,要求: ?将数据成员改为私有的; ?将输入和输出的功能改为由成员函数实现; ?在类体内定义成员函数。 然后编译和运行程序。请分析什么成员应指定为公用的?什么成员应指定为私有的?什么函数最好放在类中定义?什么函数最好在类外定义? (2)分别给出如下的3个文件: ?含类定义的头文件student.h。 //student.h (这是头文件,在此文件中进行类的声明) class Student //类声明 {public: void display(); //公用成员函数原型声明 private: int num; char name[20]; char sex; }; ?包含成员函数定义的源文件student.cpp。 //student.cpp 在此文件中进行函数的定义 #include #include\ //不要漏写此行,否则编译通不过 void Student::display() //在类外定义display类函数 {cout<<\ cout<<\ cout<<\ } ?包含主函数的源文件main.cpp。 为了组成一个完整的源程序,应当有包括主函数的源文件: //main.cpp 主函数模块 #include #include\ //将类声明头文件包含进来 int main() {Student stud; Stud.display(); //定义对象 return 0; //执行stud对象的display函数 } 请完善该程序,在类中增加一个对数据成员赋初值的成员函数set_value。上机调试并运行。 (3)需要求3个长方柱的体积,请编一个基于对象的程序。数据成员包括length(长),width(宽),height(高)。要求用成员函数实现以下功能: ?由键盘分别输入3个长方柱的长,宽,高; ?计算长方柱的体积; ?输出3个长方柱的体积。 请编程序,上机调试并运行。 (4)定义日期类型Date。要求有以下面成员: ?可以设置日期; ?日期加一天操作; ?输入函数,输入格式为“XXXX年XX月XX日”。 三.实验结果与分析 ⑴ #include class Time { public: void set_time(void) { cin>>hour; cin>>minute; cin>>sec; } void show_time(void) { cout< int hour; int minute; int sec; }; Time t; int main() { t.set_time(); t.show_time(); return 0; } 运行结果: (2)//xt-4-1.cpp(main.cpp) #include //xt2-4-2.cpp(即student.cpp) #include } void student::set_value() { cin>>num; cin>>name; cin>>sex; } //xt2-4.h class student {public: void display(); void set_value(); private: int num; char name[20]; char sex; }; 运行结果: (3)#include public: void get_value(); void volume(); void display(); public: float length; float width; float height; float vol; }; void Box::get_value() { cout<<\请输入长、宽、高 \ cin>>length; cin>>width; cin>>height; } void Box::volume() { vol=length*width*height; } void Box::display() { cout< int main() { Box box1,box2,box3; box1.get_value(); box1.volume(); cout<<\一号盒子的体积为:\ box1.display(); box2.get_value(); box2.volume(); cout<<\二号盒子的体积为:\ box2.display(); box3.get_value(); box3.volume(); cout<<\三号盒子的体积为:\ box3.display(); return 0; } 运行结果: (4)#include set(int y,int m, int d); add(); print(); private: int year; int month; int day; }; Date::set(int y, int m, int d) { if(y < 0) { i = 1; cout << \} else year = y; if(m < 1 || m > 12) { i = 1; cout << \} else month = m; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(d< 1 || d > 31) { i = 1; cout << \ else day = d; break; case 4: case 6: case 9: case 11: if(d < 1 || d > 30) { i = 1; cout << \ else day = d; break; case 2: if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ) { if(d < 1 || d > 29) { i = 1; cout << \ else day = d; } if(y % 4 != 0 || y % 100 == 0 && y % 400 != 0) { if(d < 1 || d > 28) { i = 1; cout << \ else day = d; } break; } }
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介