网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c_第9讲

面向对象程序设计 第9讲 第五章 类和对象(三) 类:学生 学生学籍管理中要用到学生的基本信息 分析 静态属性: 学号、姓名、年龄、性别 姓名用变长类型描述(指针) 动态属性 修改静态属性的操作,学生信息的显示 结果 能够详细描述学生信息的类 成员函数的特性 内联函数和外联函数 Class类名 { 类型 f(参数); } inline 类型 类名::f(参数) { } 重载性 缺省参数:其条件和一般函数的缺省参数的条件一样 静态数据成员 定义和声明时前面加static 初始化: 数据类型 类名::静态数据成员=值 使用方式: 类名::静态成员名 注意: 初始化在类体外,前面不加static 初始化不加访问权限控制符 初始化时前面加类作用域符,属于类而不属于对象 必须进行初始化 静态成员函数 属于类,不属于某个对象 静态成员函数不能直接引用非静态成员,可以引用静态成员,如果要引用非静态成员,可以通过对象 声明: Static 返回类型 函数名(参数) 实现: 返回类型 函数名(参数){…} 使用: 类名::函数名(参数) 例:统计所有对象的个数 分析: 每生成一个对象,则静态成员加1,析构时减1 友元 目的:想访问类的私有成员。。。 提高了成员的运行效率,但破坏了类的封装性和隐藏性。 友元可以分为友元函数和友元类。 友元函数 格式: class 类名 { 访问控制符: friend 类型 函数名(参数表); }; // 友元函数实现 类型 函数名(参数表) { } // 调用 … 函数名(); …. 友元类 一个类可以作为另一个类的友元,这样就以为着这个类的所有成员函数都是另一个类的友元函数;反之,则不成立; class X { friend class Y; public: private: }; class Y { public: private: }; 类的作用域 类的作用域为类一对花括号所括起来的部分 类的作用域简称类域;类域可以定义变量和函数,但变量不能用auto,register,extern等修饰,只能用static来修饰。 局部类和嵌套类 类可以相互嵌套,如: class X { class Y { public: private: }; public: private: }; 主要内容 6.1 对象指针和对象引用 一、指向类的成员的指针 二、对象指针和对象引用作函数参数 6.2 数组 一、对象数组 二、指向数组的指针和指针数组 6.3 常类型 一、一般常量和对象常量 二、常指针和常引用 三、常成员函数 四、常数据成员 6.4 堆对象和子对象 对象指针和对象引用 一、指向类的成员的指针 1、在C++中可以说明指向类的数据成员和成员函数的指针。 格式分别如下: ①指向数据成员的指针: 类型说明符类名::*指针名 = 类名::成员名 对象指针和对象引用 ②、指向成员函数的指针的定义和调用问题 定义格式 类型说明符(类名::*指向函数的指针名)(参数表) 给指向函数的指针赋值的格式: 指向函数的指针名= 函数名 调用方式: 指向函数的指针名(实参表) ③、注意: 调用这种定义方式的指针,要使用对象,而不是使用类 对象指针和对象引用 2、指向对象的指针 类名* 指针名; 二、对象指针和对象引用作函数参数 1、对象指针作函数参数 2、对象引用作函数参数 三、this指针 this指针是一个隐含与每一个类的成员函数中的特殊指针,该指针指向正在被某一个成员函数操作的对象的指针。 数组 对象数组 含义: 数组元素为对象的数组。对数组的操作和普通数组一样。 格式: 类名数组名[大小]… 赋值: 和普通数组一样,如CDog dog[12] ={CDog(“000”,1),CDog(“101”,2)….}; 指向数组的指针 指针元素为数组的指针 格式: 类型说明符(*指针名)[大小]… 如:int a[][3]={1,2,3,4,5,6} int (*p)[3](a); CDog (*pDog)[3]; 指针数组 2、指针数组 含义:数组元素为指针的那类数组; 格式: 类型说明符* 指针名[大小]… 常类型 一般常量: 类型说明符const常量名 对象常量(常对象): 类说明符const常量名 常

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档