面向对象程序设计4

面向对象程序设计4

ID:38341467

大小:545.31 KB

页数:44页

时间:2019-06-10

面向对象程序设计4_第1页
面向对象程序设计4_第2页
面向对象程序设计4_第3页
面向对象程序设计4_第4页
面向对象程序设计4_第5页
资源描述:

《面向对象程序设计4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章面向对象程序设计【学习目标】l理解对象和类的概念l定义并实例化类对象l理解类的继承l掌握类的静态数据成员和静态方法l掌握运算符重载技术补充:虚函数课件制作人:宋坤【学习导航】课件制作人:宋坤【知识框架】课件制作人:宋坤【参考书籍】1.《C/C++程序设计教程》龚沛曾,杨志强高等教育出版社2.《C++程序设计》谭浩强清华大学出版社课件制作人:宋坤√本章目录3.1类和对象3.2类的继承3.3类的高级方法3.4类模板3.5异常处理3.6课后练习√√√课件制作人:宋坤3.1类和对象深入理解类和对象类的定义类的实例化——对象类成员的访问类成员的访问权

2、限构造函数析构函数this指针√√√√√√√课件制作人:宋坤深入理解类和对象世界中的各种事物,如花、鸟、鱼、虫,都有自己的特征。花具有美丽的色彩,鸟具有一对翅膀……这些事物也都有自己的行为,花能够生长,鸟能够鸣叫,鱼能够游动……在面向对象程序设计中,将事物的特征和行为组织在一起,便形成了类。在类中,事物的特征被描述为数据成员,行为被描述为方法。类的本质:一种自定义的数据结构课件制作人:宋坤回顾结构体一个描述“狗”的结构体structDog{unsignedintm_Age;unsignedintm_Weight;}课件制作人:宋坤类的定义类是结构

3、体的扩展,除了成员变量,还可以有成员函数。一个描述“狗”的类:classCDog{//数据成员unsignedintm_Age;unsignedintm_Weight;//方法voidyelp();};课件制作人:宋坤引例classCDog{public://成员变量unsignedintm_Weight;unsignedintm_Age;//成员函数voidyelp(){printf("汪汪!");};};voidmain(intargc,char*argv[]){CDogmydog;mydog.m_Age=2;mydog.m_Weight

4、=4;printf("Age=%d",mydog.m_Age);printf("Weight=%d",mydog.m_Weight);mydog.yelp();}课件制作人:宋坤类的实例化——对象对象是类的实例化。在声明一个类时,并没有为其分配内存空间,只有在实例化一个对象时,才为对象分配空间。声明一个对象和声明一个整型变量类似。下面声明了一个整型变量i和一个CDog类对象mydog。inti;CDogmydog;//声明一个对象课件制作人:宋坤类成员的访问在定义一个类的对象之后,就可以通过对象访问类的成员了。在对象之后使用“.”运算符访

5、问类成员。下面的代码演示了如何设置mydog的a_Age成员变量,如何调用mydog的yelp方法。mydog.m_Age=2;mydog.yelp();课件制作人:宋坤类成员的访问权限类成员有三种访问权限(安全级别)1.public(公有)类内可访问,对象可访问一般可让用户随意使用的成员可设置成public2.private(私有)类内可访问,对象不可访问不希望用户随意操作(例如怕造成不良后果)的成员可设置成private3.protected(保护)(下节详解)课件制作人:宋坤类成员的访问权限classCDog{//私有成员unsignedi

6、ntm_Age;protected://保护成员unsignedintm_Weight;};intmain(intargc,char*argv[]){CDogmydog;mydog.m_Age=2;//错误,不能访问私有成员mydog.m_Weight=10;//错误,不能访问保护成员return0;}课件制作人:宋坤构造函数在建立一个对象时,常常需要对对象进行初始化,为了进行初始化工作,C++提供了一个特殊的成员函数——构造函数(constructor)。构造函数是一个与类名相同的方法,可以根据需要设置参数,但不具有返回值.在开发程序时,用户可

7、以自己定义一个默认的构造函数,只要构造函数没有任何参数就可以了。下面的代码定义了一个CDog类,在该类中定义一个默认的构造函数,用于初始化成员变量。课件制作人:宋坤构造函数例子classCDog{public:unsignedintm_Weight;unsignedintm_Age;CDog();//默认构造函数};CDog::CDog(){m_Age=1;m_Weight=2;printf("constructinstance");}intmain(intargc,char*argv[]){CDogmydog;//调用默认的构造函数prin

8、tf("%d",mydog.m_Age);return0;}课件制作人:宋坤构造函数编译器除了提供默认的构造函数外,还提供了默认的复制构

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

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

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