C程序设计教程8-类.ppt
《C程序设计教程8-类.ppt》由会员分享,可在线阅读,更多相关《C程序设计教程8-类.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计教程(第二版)第八章 类 Chapter 8 Class 清华大学出版社 钱 能1/16/20231n类 类是一种可以作为交易的概念代码类是自定义的数据类型类与应用程序不同,类的功能虽然独立,但不能独立启动,就象汽车零件那样.n类机制 要通过编程的方法来维护类的数据表达,值范围和操作并不是简单的,因为要限制一些操作只能让类自己来做,以免发生问题时,无人敢对其负责 类机制就是通过语言的规定性来实现一些技术,使类具有数据封装,信息屏蔽,多态等特征,起到数据类型的作用,而达到方便编程的目的.1/16/20232第八章内容1.从结构到类从结构到类(From Structure to Cla
2、ss)2.成员函数成员函数(Member Functions)3.操作符操作符(Operators)4.再论程序结构再论程序结构(Program Struture Restatement)5.屏蔽类的实现屏蔽类的实现(Shield Class Implementations)6.静态成员静态成员(Static Members)7.友元友元(Friends)1/16/202331.从结构到类从结构到类(From Structure to Class)结构:单纯堆积数据空间构造的类型类:不但描述数据空间,还描述其操作的自定义类型变量:由内部数据类型或衍生的结构类型所产生的实体对象:由类产生的实体,
3、本质上,变量也是对象,只不过粗糙一点罢了.1/16/202342.成员函数成员函数(Functions)成员函数与普通函数的区别:n成员函数属于类,成员函数定义是类设计的一部分,其作用域是类作用域.而普通函数一般为全局函数n成员函数的操作主体是对象,使用时通过捆绑对象来行使其职责,而普通函数被调用时没有操作主体1/16/20235成员函数的内联性成员函数可以在类内,也可以在类外定义,若在类内定义,则默认为内联函数.但编译器对内联的接受自有其原则.class Date int year,month,day;public:void set(int y,int m,int d)/默认内联 year=
4、y;month=m;day=d;inline bool Date:isLeapYear()/显式内联 return!(year%400)|!(year%4)&year%100;1/16/20236访问成员函数的方式对象方式对象方式 Date d;d.set(2005,12,5);对象指针方式对象指针方式 Date*dp=new Date;dp-set(2005,12,5);/delete dp;1/16/20237常成员函数与函数的常量参数常成员函数常成员函数 对捆绑的对象对捆绑的对象,不允许写操作不允许写操作函数的常量参数函数的常量参数 对传递的参数对传递的参数,不允许写操作不允许写操作例如
5、例如:bool Date:comp(const Date&a)const year=2005;/error:常成员函数捆绑的对象 a.year=2003;/error:常量对象 return year=b.yaer&month=a.month&day=a.day;1/16/202383.操作符操作符(Operators)操作符定义就是函数定义,调用操作符就是调用函数,例如:Point operator+(const Point&a,const Point&b)Point s;s.set(a.x+b.x,a.y+b.y);return s;Point p,q;p.set(3,2);q.set(1
6、,5);Point r=p+q;/p+q 等价于 operator+(p,q)一切自定义操作符都是语言中操作符的重载.操作符作用:让编译器理解人性化编程代码.从正确性上讲并不是必要的.例如,Java不允许操作符重载1/16/20239值返回 返回临时表达式的值,例如:Point operator+(const Point&a,const Point&b)Point s;s.set(a.x+b.x,a.y+b.y);return s;引用返回 函数将处理结果放入参数中时,如果有将返回值作连续操作的需要,便需要返回参数,即引用返回,例如:ostream&operator(ostream&o,con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程
限制150内