欢迎来到天天文库
浏览记录
ID:43185873
大小:441.50 KB
页数:96页
时间:2019-10-01
《C++面向对象程序设计 第二章 类与对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、主讲教师:个人主页:http:;//cs.scu.edu.cn/~chenliangyin高级语言程序设计II四川大学计算机学院四川大学计算机学院2021/7/241主讲教师:四川大学计算机学院教材:《C++面向对象程序设计》李涛主编游洪跃陈良银李琳等编高等教育出版社2006年2月出版2021/7/242主讲教师:四川大学计算机学院本书内容第1章绪论第2章C++类和对象第3章继承第4章多态性第5章模板第6章C++常见问题第7章VisualC++编程基础第8章对话框、常用消息、菜单和工具条第9章单文档界面和多文档界面第10章图形设备接口实验(待安排)2021
2、/7/243主讲教师:四川大学计算机学院提纲输入与输出流第二章类与对象ARMVectorTableFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedInstructionReset0x1C0x180x140x100x0C0x080x040x00132类与对象类的定义2021/7/244主讲教师:四川大学计算机学院类的诞生(一)类(Class)是面向对象思想中的一个重要组成部分。如何在计算机中将“类”表达出来?在C语言中,当定义结构体(struct):structSAMPLE{in
3、tmember1,member2;}var1;以后,就可以使用结构中的成员:intvar=var1.member1*var1.member2;2021/7/245主讲教师:四川大学计算机学院类的诞生(二)将结构体成员的使用代码写成一个函数,得到:intcaluc(structSAMPLEvar){returnvar.member1*var.member2;}操作结构变量2021/7/246主讲教师:四川大学计算机学院然后,将上面的函数放入结构体中structSAMPLE{intcalcu(){returnmember1*member2;}intmember
4、1,member2;};数据成员函数成员2021/7/247主讲教师:四川大学计算机学院类的诞生(三)这样的结构体就具有了一定的属性(member1和member2),也具有一定的行为(函数calcu),它就是“类”的雏形。该结构体的使用方法如下:structSAMPLEvar;var.member1=var.member2=10;inttemp=var.calcu();2021/7/248主讲教师:四川大学计算机学院2021/7/249主讲教师:四川大学计算机学院C++类的声明与定义(一)classCCompanyStaff{//BEGIN//声明成员函
5、数voidSetBasicSal(floatsal);//设置基本工资//声明(定义)数据成员intm_iStaffNum;//工作编号charm_cName[20];//姓名floatm_fRateOfAttend;//出勤率floatm_fBasicSal;//基本工资};//END多了一个函数(SetBasicSal),其它都象结构体。structclass2021/7/2410主讲教师:四川大学计算机学院CCompanyStaff类的定义以关键字class开始。其后是类名。“{}”表示类定义的开始和结束,最终以分号结束。一般在类中只声明成员函数的
6、原型,而函数的实现(即函数体的定义)则放在类外完成。“函数原型”,即只声明函数名、参数类型和返回值类型,而不包括函数体代码。2021/7/2411主讲教师:四川大学计算机学院C++类的声明与定义(二)函数的定义则可在函数(SetBasicSal)声明之后:voidCCompanyStaff::SetBasicSal(floatsal){m_fBasicSal=sal;}函数定义:函数名前多了一个类作用域运算符(CCompanyStaff::),用于标识该函数定义属于哪一个类。2021/7/2412主讲教师:四川大学计算机学院C++类的声明与定义(三)对于C
7、++语言的编程习惯:1、将类的声明存放于“*.h”或“*.hpp”的头文件中,每个类一个声明文件。2、将类的定义存放于“*.cpp”文件中,与相应的声明文件一一对应.c.cpp2021/7/2413主讲教师:四川大学计算机学院封装成类的好处——可以实现数据隐藏。封装也确定了类成员的访问属性。2021/7/2414主讲教师:四川大学计算机学院对象的封装性C++语言引入面向对象思想,引入类(对象)的概念之后,必然会具有一些新的特性。面向对象思想中类(对象)的基本特性之一:封装性。封装性:直观理解,类将属于它的数据(成员变量)和针对数据的操作(成员函数)包裹在
8、一起就是一种封装。封装的目的:保护类(对象)的实现。对封装属性进行
此文档下载收益归作者所有