ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:60.05KB ,
资源ID:27239750      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27239750.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二类与对象.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二类与对象.docx

1、实验二类与对象武汉科技大学 C+上机实验报告 实验名称:实验二 类与对象专业班级:姓 名: 学 号:日 期:2015年12月12日 一、 实验目的1 掌握类的声明与使用2 掌握成员函数的使用方法二、 实验内容1 构建一个类,含有三个数据成员,分别表示盒子的三条边长;含有一个成员函数,用来计算盒子的体积。2 声明一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及chang_name()和display()等函数。display()显示姓名、街道地址、城市和邮编等属性,chang_name()改变对象的姓名属性,实现并测试这个类。3 设计一个用于人事管理的People(人员)类

2、。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数、析构函数、拷贝构造函数、内联成员函数等。三、 实验注意事项程序中,需要编写一个可执行函数与main主调函数,自主设计输入、输出值,使得结果可以由控制台显示输出。四、 实验程序代码(一)盒子程序:#includeusing namespace std;class box /盒子类public: class box(float a , float b

3、, float c )/内联构造函数 length = a; width = b; hight = c; float volume() /内联成员函数 return length*width*hight; private: float length, width, hight;/长宽高;int main() /主调函数 float data3; while (1) cout *n请输入盒子的nn长度: data0; cout 宽度: data1; cout 高度: data2; box B(data0, data1, data2);/构建盒子类对象B并初始化 cout 盒子的体积为: B.vo

4、lume() nn endl; return 0;(二)Employee类的构造和实现:#include#includeusing namespace std;class employeepublic: employee(string na,string num,int pos,string cty ,string add)/内联构造函数 name=na; number=num; postcode=pos; city=cty; address=add; int change_name(void) /内联成员函数 cout请重新输入姓名:name; return 0; int change_nu

5、mber(void) /内联成员函数 cout请重新输入编号:number; return 0; int change_postcode(void) /内联成员函数 cout请重新输入邮编:postcode; return 0; int change_city(void) /内联成员函数 cout请重新输入城市:city; return 0; int change_address(void) /内联成员函数 cout请重新输入地址:address; return 0; int display(void);/由于函数体较大,使用普通成员函数的构造方法private: string name,ci

6、ty,address,number; /类的数据成员 int postcode;int employee:display(void) /成员函数的构建 cout*n姓名:namen编号(末四位):numbern邮编:postcoden城市:cityn地址:addressendl; return 0;int main(void) employee P1(黄楷,4083,430000,武汉,武汉科技大学青山校区); P1.display(); P1.change_name(); P1.display(); P1.change_number(); P1.display(); P1.change_po

7、stcode(); P1.display(); P1.change_city(); P1.display(); P1.change_address(); P1.display(); return 0;(三)People类录入程序:#include#includeusing namespace std;enum SEX man,woman; /性别属性为枚举类型class Datepublic: Date(unsigned int dy, unsigned int mon, unsigned int yr)/内联构造函数 day = dy; month = mon; year = yr; Dat

8、e()/默认构造函数 day = 0; month = 0; year = 0; Date(Date&d) day = d.day; month = d.month; year = d.year; int show(void) /内联成员函数 cout year 年 month 月 day 日 endl; return 0; Date() /析构函数private: unsigned int day, month, year;class Peoplepublic: People(string na, string num, SEX sx, Date birth, string id_num);

9、/构造函数 People(People&p); int show(void); People() private: string name, number, id; /类的数据成员 Date birthday; /内嵌对象生日 SEX sex; /性别;People:People(string na, string num, SEX sx, Date birth, string id_num):birthday(birth)/组合类构造函数 name = na; number = num; sex = sx; id = id_num;People:People(People&p):birthd

10、ay(p.birthday)/组合类复制构造函数 name = p.name; number =p.number; sex = p.sex; id = p.id;int People:show(void) string temp; if (sex = man)temp = 男; else temp = 女; cout *n姓名: name n编号: number n性别: temp n出生日期:; birthday.show(); cout 身份证号: idn* endl; return 0;int main(void) string name, number, id,tem; unsigne

11、d int day, month, year,check=0; char choice; SEX sex; cout 请输入姓名: name; cout 请输入编号: number; cout 性别: A.男 B.女 choice; switch (choice) case A: case a: sex = man; check = 1; break; case B: case b:sex = woman; check = 1; break; default:check = 0; cout 输入错误请重输: endl; cout year; cout month; cout day; cout

12、 身份证号: id; Date d(day,month,year); People p(name, number, sex, d, id); p.show(); return 0;五、 实验运行结果(一) 盒子程序:(二) Employee类的实现:(三) People类的录入程序:六、 实验心得与体会 通过这次试验我更加熟练的掌握了类的定义和构造。成员函数可以隐式内联,可以显示内联,构造函数同理。并且在成员函数体较大时,为了不增加冗余,应当不适用内联,以减小代码大小。而实验三所习最多:1. 枚举类型的用法,enum 类名类值;2. 拷贝构造函数的定义语法类名(类名&引用名)成员名=引用名.成

13、员名;3. 析构函数 类名()4. 组合类的定义组合类构造函数的声明 类名(普通形参内嵌对象形参):内嵌对象(内嵌对象的形参), 组合类拷贝构造函数的声明 类名(类名&引用名):内嵌对象(引用名.内嵌对象)普通成员=引用名.普通成员名;组合类默认构造函数的声明类名()成员=默认值;5. 构造函数的调用a.内嵌对象的构造函数调用按在组合类定义中出现的顺序,且先调用内嵌对象的构造函数,再实现组合类构造函数函数体;b.内嵌对象没有出现在初始化列表中,用内嵌对象的默认构造函数;c.系统自动生成的隐含默认构造函数在初始化时起到作用;d.没有默认构造函数的成员对象和引用型变量必须初始化;6.析构函数调用顺序正好与构造函数相反7.组合类对象初始化时会调用两次内嵌对象的复制构造函数,即实参复制给形参,形参复制给内嵌对象两次。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1