C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt

C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt

ID:50082251

大小:566.50 KB

页数:153页

时间:2020-03-08

C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt_第1页
C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt_第2页
C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt_第3页
C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt_第4页
C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt_第5页
资源描述:

《C++面向对象程序设计 教学课件 作者 李兰_第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.1类和对象(ClassesandObjects)4.2构造函数与析构函数(ConstructorsandDestructor)4.3常成员(ConstantMembers)4.4指向对象的指针(PointertoObject)4.5静态成员与友元(StaticMembersandFriend)4.6常见编程错误(CommonProgrammingErrors)本章小结(ChapterSummary)习题4(Exercises4)4.1.1类与抽象数据类型(ClassandAbstractDataTypes)抽象即忽略一个问题中与当前事物无关的方面,将注意力放在与当前事物有关的方面

2、。它把一类事务的属性抽象出来,同时封装了该类事务可以提供的操作。本章我们来具体学习类这种抽象数据类型的定义以及相关的一些重要概念。4.1类和对象(ClassesandObjects)4.1.2类的声明和定义(ClassesDeclarationsandDefinitions)1.从结构体到类C++兼容C语言的结构体类型(struct),但又与C语言中的结构体类型有所不同。 例如:structStud {chargender;intage; }2.类的定义类定义的语法格式为classclass_name{//Member_list};【例4-1】类定义举例。classPerson {

3、public: voidwalk(){} voidwork(){} voiddisp(); private: stringname; unsignedage; };4.1.3类的函数成员的实现(ClassesMemberFunctions)1.使用域限定符“::”从例4-1的Person类中我们看到,函数成员disp没有函数体,只有函数声明部分。 在类外定义函数成员的语法格式为return_typeclassname::functionname(formalparameter) { //functionbody }套用此格式函数成员disp可以这样来实现:voidPerson::di

4、sp() {cout<<"此人姓名为:"<

5、disp();p2.disp();p3.disp();此时p1、p2、p3这3个对象分别调用共享的函数成员disp。4.1.5类的访问属性(AccessControlsinClasses)前面已经提到过封装的概念,即把数据和函数包含在一个类类型中。1.private和publicprivate即私有的,被用来隐藏类中的数据成员和函数成员;public即公有的,用来公开类中的数据成员和函数成员。例如:classPerson {public: voidwalk(){} voidwork(){} voiddisp(); private: stringname; unsignedage; }

6、;classPerson { private: stringname; unsignedage; public: voidwalk(){} voidwork(){} voiddisp(); };classPerson { public: voidwalk(){} voidwork(){} private: stringname; unsignedage; public: voiddisp(); };2.类域类域(classscope)即类的作用域,类似于我们以前学过的函数域、块域等。 例如:Personp1; p1.name="zhangsan";//Error!cout<

7、isp();//OK!3.get和set函数类成员的访问属性实现了面向对象程序设计的封装的概念以及信息隐藏的原理。【例4-2】带有get、set函数的Person类。classPerson { public: voidset_name(stringnew_name); voidset_age(unsignednew_age); stringget_name(){returnname;}unsignedget_age(){returnage;} voiddi

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

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

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