(最新)045类的概念及定义

(最新)045类的概念及定义

ID:40234835

大小:315.00 KB

页数:22页

时间:2019-07-27

(最新)045类的概念及定义_第1页
(最新)045类的概念及定义_第2页
(最新)045类的概念及定义_第3页
(最新)045类的概念及定义_第4页
(最新)045类的概念及定义_第5页
资源描述:

《(最新)045类的概念及定义》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络游戏开发语言基础-C++程序设计专业教程理论讲解部分Ver3.1第045课类的概念及定义概述:对象的概念及定义访问权限控制构造函数、析构函数this指针和内联函数重点:难点:构造函数和析构函数对象的概念访问权限控制第045课类的概念及定义10类的概念及定义10.3.7对象的作用域与生存期对象是类的实例,它实质就是某种数据类型的变量,在不同的位置以不同的方式定义对象时,其作用域和生存期是不同的。1.局部对象(不包括局部静态对象)其作用域是定义它的函数体,生存期从函数调用开始到函数调用结束,下一次再重新调用函数时,再重新构造对象。构造局部对象的次序(即分配存储单元)是

2、按它们在函数体中声明的顺序。2.静态对象(局部静态和全局静态)其作用域是定义它的函数体或程序文件,其生存期是整个程序。构造静态对象的次序是按它们在程序中出现的次序后,并在整个程序运行开始时(即在主函数运行前)只构造一次。第045课类的概念及定义10类的概念及定义3.全局对象全局对象的作用域是整个程序,生存期是整个程序的运行时间。它也是在程序运行前(即在主函数运行前)只构造一次。4.类中成员的构造次序以类中声明成员的次序进行。构造函数和析构函数是类的两种特殊的成员函数。创建对象唯一的途径是调用构造函数。设定成员的访问控制可以实现信息隐藏,通过类和对象的封装:a)在类中指

3、定一些数据成员和函数成员为私有的,这就保证了程序运行的安全性。私有成员只有本类的函数成员或友元可以访问,其安全性可以保证,出了错也容易发现。b)把函数与它所处理的数据联系到一起,使得程序中大量的操作﹑运算﹑处理等得到了最合理的划分,这种划分的合理性,其直接结果就是程序模块的可重用性加强了。第045课类的概念及定义10类的概念及定义this为C++保留字,它为一个指针,在任一个类成员函数的运行过程中,指针this总指向当前调用者对象(或说this总代表当前调用者对象的地址)。所以,类成员函数中总可以用“*this”来表示当前调用者对象,也可用“this->成员名”或“(

4、*this).成员名”来表示当前调用者对象的某成员;还可以通过“returnthis”来返回该当前调用者对象的指针(即地址),用“return*this”返回该当前调用者对象(本身)。但注意,在类成员函数中访问或使用当前调用者对象的某成员时,通常不使用上述这种显式的“this-><成员名>”或“(*this).<成员名>”的方式,而使用缺省了“this->”及“(*this).”修饰符号的即仅使用“<成员名>”的这种所谓的隐含方式。10.3.8this指针第045课类的概念及定义10类的概念及定义10.4对象的定义10.4.1对象的基本概念及定义对象也被称为类变量,一

5、个类的对象是这个类的一个实例。和变量一样,它也可以为其数据成员赋初值。不过对象的初始化情况比较复杂,可以有下列多种不同的方式,其中最重要的方式是构造函数。1.公有数据成员如果一个类的数据成员是公有的,那么其对象的初始化与一般变量,结构变量或变量数组的初始化没有什么区别。例如:第045课类的概念及定义10类的概念及定义classaddress{public:longtelenum;charaddr[30];};classperson{public:charname[15];intage;addresspaddr;};personp1={"ZhangHua",23,{24

6、75096,"NanKaiUniversity"}};第045课类的概念及定义10类的概念及定义2.公有的初始化函数在类中设置公有的初始化函数完成此项任务,如在类point中,函数setX(floatx)和setY(floaty)可以完成初始化的任务,也可以专门设计一个初始化函数:public:voidinitpoint(){xcoord=0;ycoord=0;};第045课类的概念及定义10类的概念及定义为了更好地解决对象的初始化问题,C++规定在类的说明中可以包含一个或多个特殊的公有函数成员——构造函数。构造函数具有下列特征:1.函数名与类名相同。2.无函数(返回

7、)类型说明。3.构造函数在一个新的对象被建立时,该对象所隶属类的构造函数自动地被调用,对这个对象完成初始化工作。4.在上一条中提到的新对象的建立包括两种情况,①在对象说明语句中;②用new函数建立新的动态对象时。5.如果一个类说明中没有给出显式的构造函数,系统将自动给出一个缺省的(隐式的)构造函数:<类名>(void){}这个函数什么也不做。6.如果说明中包括多个构造函数,一般它们有不同的参数表和函数体10.5构造函数与析构函数10.5.1构造函数的作用及实现第045课类的概念及定义10类的概念及定义系统在(自动)调用构造函数时按照一般函数重载的规则

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

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

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