实验16+构造函数定义及使用

实验16+构造函数定义及使用

ID:20493688

大小:32.00 KB

页数:4页

时间:2018-10-12

实验16+构造函数定义及使用_第1页
实验16+构造函数定义及使用_第2页
实验16+构造函数定义及使用_第3页
实验16+构造函数定义及使用_第4页
资源描述:

《实验16+构造函数定义及使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++实验指导书实验16 构造函数定义与使用16.1概述一、目的要求1.掌握构造函数、重载构造函数的定义和使用方法;2.理解缺省构造函数的概念、定义及使用方法。二、案例内容1.学生类的声明及其对象的初始化三、实验内容1. 日期类的声明和对象的定义;2.集合类的声明和对象的定义;3.职工类的声明和对象的定义。16.2案例一、学生类的声明及其对象的初始化1.问题的提出学生类有成员数据:学号、姓名、性别、年龄、C++成绩;要求有如下成员函数:构造函数、缺省的构造函数、修改成绩的函数、输出所有成员的函数。main()完成对象的定义和有关成员函数的测试

2、。2.分析成员数据的确定方法:学号一般由纯数字组成,可以确定为整型数;但当学号中包含有字母、汉字或起始学号由0开始时,应使用字符数组表示。姓名应该用字符数组表示。性别可用字符数组表示汉字“男”或“女”,也可用数字表示(如1表示“男”,2表示“女”,可自己事先约定。)或布尔值表示。而年龄用int类型,考虑到成绩可能会出现有小数,所以用float表示。成员函数的确定方法:构造函数其作用是完成对对象的成员数据初始化。一般情况下,上述说明的成员数据,在不能通过计算得到时,其数据成员都需要通过构造函数实现初始化。构造函数可以重载,考虑到定义对象时,没有

3、提供初始化所需的数据,定义了缺省的构造函数。为保证数据安全,类中成员数据一般都限定为私有访问权限,所以类中需要定义输出数据的成员函数,当需要访问私有数据成员时,需通过具有公有访问权限的成员函数-公共接口完成。3.程序代码classStudent{//学生类的声明intId;//学号charName[20];//姓名第4页C++实验指导书charSex[4];//性别intAge;//年龄floatCpp;//C++成绩public:Student()//缺省的构造函数{Id=Age=Cpp=0;Name[0]=Sex[0]='';}Stu

4、dent(inti,char*n,char*s,inta,floatc){//构造函数Id=i;strcpy(Name,n);strcpy(Sex,s);Age=a;Cpp=c;}voidSetCpp(floatc){Cpp=c;}//修改成绩的函数voidPrint()//输出成员数据的函数{cout<<"学号:"<

5、907105,"张一","男",20,86);//调用构造函数s1.Print();//输出s1.SetCpp(92);//修改C++成绩s1.Print();Students2;//调用缺省的构造函数s2.Print();s2=s1;s2.Print();}4.思考(1)当类中没有定义缺省的构造函数时,是否会出现语法错误?(2)第4页C++实验指导书当缺省的构造函数的函数体为空时,输出对象s2的成员数据时,会出现什么结果?16.3实验指导一、日期类的声明和对象的定义1.题目要求声明一个日期类,有成员数据:年、月、日;有成员函数:构造函数实现

6、对所有成员数据的初始化;输出的成员函数,要求输出格式为:年-月-日。main()完成对象的定义和输出成员函数的测试。2.分析成员数据年、月、日应该为整型数,并限定为私有访问权限;成员函数限定为公有访问权限。构造函数实现对所有成员数据的初始化,所以构造函数的形参个数和类型,与成员数据的个数和类型一致。值得注意的是:构造函数实现成员数据初始化时,赋值号的左边是成员名,右边是形参名。请完成程序代码的编写、调试,并得到正确结果。3.思考如果考虑输入的年、月、日数据是合法数据(即不允许出现13月、32日等),构造函数应如何处理?二、集合类的声明和对象的

7、定义1.题目要求声明一个集合类,有成员数据:inta[10];有成员函数:构造函数(要求完成对数组a中所有元素的初始化);输出的成员函数,要求每行输出5个数;判断一个数是否在数组中的函数,如果在数组中,返回数组中下标的值。main()完成对象的定义和相关成员函数的测试。2.分析构造函数要求完成对数组a中所有元素的初始化,其形参应该提供一个具有10个数据的数组或指向该数组的指针变量。如:构造函数名(intb[]){inti;for(i=0;i<10;i++)a[i]=b[i];}判断一个数是否在数组中的成员函数,其函数返回值为数组元素的下标,函

8、数的返回值类型应该是整型,考虑到下标的范围在0~9之间,因此当数组中不存在所找数据时,返回的值应该不在下标范围内,可设定返回-1。第4页C++实验指导书intFin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。