实验二类与对象Word文件下载.docx

上传人:b****1 文档编号:3908134 上传时间:2023-05-02 格式:DOCX 页数:13 大小:60.05KB
下载 相关 举报
实验二类与对象Word文件下载.docx_第1页
第1页 / 共13页
实验二类与对象Word文件下载.docx_第2页
第2页 / 共13页
实验二类与对象Word文件下载.docx_第3页
第3页 / 共13页
实验二类与对象Word文件下载.docx_第4页
第4页 / 共13页
实验二类与对象Word文件下载.docx_第5页
第5页 / 共13页
实验二类与对象Word文件下载.docx_第6页
第6页 / 共13页
实验二类与对象Word文件下载.docx_第7页
第7页 / 共13页
实验二类与对象Word文件下载.docx_第8页
第8页 / 共13页
实验二类与对象Word文件下载.docx_第9页
第9页 / 共13页
实验二类与对象Word文件下载.docx_第10页
第10页 / 共13页
实验二类与对象Word文件下载.docx_第11页
第11页 / 共13页
实验二类与对象Word文件下载.docx_第12页
第12页 / 共13页
实验二类与对象Word文件下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验二类与对象Word文件下载.docx

《实验二类与对象Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验二类与对象Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。

实验二类与对象Word文件下载.docx

三、实验注意事项

程序中,需要编写一个可执行函数与main主调函数,自主设计输入、输出值,使得结果可以由控制台显示输出。

四、实验程序代码

(一)盒子程序:

#include<

iostream>

usingnamespacestd;

classbox//盒子类

{

public:

classbox(floata,floatb,floatc)//内联构造函数

{

length=a;

width=b;

hight=c;

}

floatvolume()//内联成员函数

returnlength*width*hight;

private:

floatlength,width,hight;

//长宽高

};

intmain()//主调函数

floatdata[3];

while

(1)

cout<

<

"

***************\n请输入盒子的\n\n长度:

"

<

endl;

cin>

>

data[0];

宽度:

data[1];

高度:

data[2];

boxB(data[0],data[1],data[2]);

//构建盒子类对象B并初始化

盒子的体积为:

B.volume()<

\n\n"

return0;

}

(二)Employee类的构造和实现:

string>

classemployee

employee(stringna,stringnum,intpos,stringcty,stringadd)//内联构造函数

name=na;

number=num;

postcode=pos;

city=cty;

address=add;

intchange_name(void)//内联成员函数

cout<

请重新输入姓名:

endl;

cin>

name;

return0;

intchange_number(void)//内联成员函数

请重新输入编号:

number;

intchange_postcode(void)//内联成员函数

请重新输入邮编:

postcode;

intchange_city(void)//内联成员函数

请重新输入城市:

city;

intchange_address(void)//内联成员函数

请重新输入地址:

address;

intdisplay(void);

//由于函数体较大,使用普通成员函数的构造方法

stringname,city,address,number;

//类的数据成员

intpostcode;

intemployee:

:

display(void)//成员函数的构建

cout<

******************\n姓名:

name<

\n编号(末四位):

number<

\n邮编:

postcode<

\n城市:

city<

\n地址:

address<

intmain(void)

employeeP1("

黄楷"

"

4083"

430000,"

武汉"

武汉科技大学青山校区"

);

P1.display();

P1.change_name();

P1.change_number();

P1.change_postcode();

P1.change_city();

P1.change_address();

(三)People类录入程序:

enumSEX{man,woman};

//性别属性为枚举类型

classDate

Date(unsignedintdy,unsignedintmon,unsignedintyr)//内联构造函数

day=dy;

month=mon;

year=yr;

Date()//默认构造函数

day=0;

month=0;

year=0;

Date(Date&

d)

day=d.day;

month=d.month;

year=d.year;

intshow(void)//内联成员函数

year<

年"

month<

月"

day<

日"

~Date(){}//析构函数

unsignedintday,month,year;

classPeople

People(stringna,stringnum,SEXsx,Datebirth,stringid_num);

//构造函数

People(People&

p);

intshow(void);

~People(){}

stringname,number,id;

Datebirthday;

//内嵌对象生日

SEXsex;

//性别

People:

People(stringna,stringnum,SEXsx,Datebirth,stringid_num):

birthday(birth)//组合类构造函数

name=na;

number=num;

sex=sx;

id=id_num;

People(People&

p):

birthday(p.birthday)//组合类复制构造函数

name=p.name;

number=p.number;

sex=p.sex;

id=p.id;

intPeople:

show(void)

stringtemp;

if(sex==man)temp="

男"

;

elsetemp="

女"

cout<

************************\n姓名:

name<

\n编号:

number<

\n性别:

temp<

\n出生日期:

birthday.show();

身份证号:

id<

\n************************"

stringname,number,id,tem;

unsignedintday,month,year,check=0;

charchoice;

请输入姓名:

cin>

name;

请输入编号:

number;

性别:

A.男B.女"

while(!

check)

{

choice;

switch(choice)

{

case'

A'

a'

sex=man;

check=1;

break;

B'

b'

sex=woman;

default:

check=0;

输入错误请重输:

}

出生年:

year;

月:

month;

日:

day;

id;

Dated(day,month,year);

Peoplep(name,number,sex,d,id);

p.show();

五、实验运行结果

(一)盒子程序:

(二)Employee类的实现:

(三)People类的录入程序:

六、实验心得与体会

通过这次试验我更加熟练的掌握了类的定义和构造。

成员函数可以隐式内联,可以显示内联,构造函数同理。

并且在成员函数体较大时,为了不增加冗余,应当不适用内联,以减小代码大小。

而实验三所习最多:

1.枚举类型的用法,enum类名{类值};

2.拷贝构造函数的定义语法

类名(类名&

引用名){成员名=引用名.成员名;

…}

3.析构函数~类名(){}

4.组合类的定义

组合类构造函数的声明

类名(普通形参…内嵌对象形参…):

内嵌对象(内嵌对象的形参…),…

组合类拷贝构造函数的声明

类名(类名&

引用名):

内嵌对象(引用名.内嵌对象)

{普通成员=引用名.普通成员名;

组合类默认构造函数的声明

类名(){成员=默认值;

5.构造函数的调用

a.内嵌对象的构造函数调用按在组合类定义中出现的顺序,且先调用内嵌对象的构造函数,再实现组合类构造函数函数体;

b.内嵌对象没有出现在初始化列表中,用内嵌对象的默认构造函数;

c.系统自动生成的隐含默认构造函数在初始化时起到作用;

d.没有默认构造函数的成员对象和引用型变量必须初始化;

6.析构函数调用顺序正好与构造函数相反

7.组合类对象初始化时会调用两次内嵌对象的复制构造函数,即实参复制给形参,形参复制给内嵌对象两次。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2