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

C++要点复习 (一)类与对象 类的定义 1.默认的情形下,默认访问权限为private2.类的数据成员既可以是基本数据类型,也可以是构造数据类型。3.定义数据成员时不能对类的成员赋初值。4.成员函数可以在类内和类外定义:类内为内联函数,类外时类内声明,类外定义。类外定义格式返回值类型 类名::成员函数名(形参表){ ????? 函数体; ??} 5.如果想在类外定义内联函数可在函数前面加上inline 这样的效果和在类内定义效果相同6.在成员函数中,不仅可以自由使用类的成员,还可以使用该类定义变量,通过该变量使用成员。7.类的封装作用也就是限制类的成员访问范围局限于类的作用域之内。8.存取控制表存取属性 意义 可存取对象 public 公开级? 该类成员以及所有对象 protected 保护级? 该类及其子类成员 private? 私有级 该类的成员 由于private成员被隐藏起来,不能直接在类外被存取,为了取得这些被隐藏的数据,通常在类内定义一个public的成员函数,通过该成员函数存取private成员,而public成员函数在类外被调用。函数起到了为private成员提供外界访问的接口。 即便是具有public存取控制属性的成员,在类外对其进行存取还必须通过该类的对象来进行。 二构造函数和析构函数 对象初始化的函数构造函数:是与类名相同的,在建立对象时自动调用的函数。构造函数是的一个成员函数,除了具有一般成员函数的特征之外,还有其函数名必须与定义它的类同名构造函数没有返回值 加上void是错误的构函数被声明定义为有函数构造函数在建立对象时由系统自动调用构造函数可以重载如果用户没有定义,则系统将自动生成默认函数。系统默认函数析构函数是在对象消失的瞬间自动调用的函数形式:~构造函数名();为类的一个特殊的有函数成员,没有参数,不能重载,可以是虚函数,一个类只有一个析构函数,无返回值,一般由用户自己定义,在对象消失时由系统自动调用,如果用户没有定义,则系统将自动生成一个不做任何事情的默认析构函数。拷贝构造函数建立新对象将已存在的对象数据成员拷贝给新对象,以初始化新对象。拷贝函数是与类名相同,形参是本类的对象的引用的函数,在用已存在的对象初始化新建立对象时调用。一般由用户定义,如果用户没有定义,则系统自动生成一个完全拷贝的的拷贝构造函数。定义形式?? 类名(类名 对象名) ?? {……?? };建立对象时,构造函数和构造函数只有一个被调用。构造函数 注意: ?? 深拷贝构造函数:当类的数据成员有指针类型时,我们就必须定义一个特定的拷贝构造函数,该拷贝构造函数不仅可以实现原对象和新对象之间数据成员的拷贝,而且可以为新的对象分配单独的内存资源?? 浅拷贝构造函数:并不分配新的内存空间,直接将原对象的数据成员值依次复制给新对象中对应的数据成员。 对象的使用 1)对象指针??? 类名 *对象指针 并没有建立对象,不调用构造函数。 可以用对象指针访问公有的数据成员和函数成员 对象指针名-数据成员名 对象指针名-成员函数名(参数表) 指针作为形参:实现地址传递 减少时空开销 提高效率2)对象引用 类名 对象引用名=被引用对象引用对象就是被引用对象的别名 指向同一内存空间。使用:对象引用名.数据成员名 ????对象引用名.成员函数名(参数表) 注意:两者要同类型 除非是作为函数参数与函数返回值,对象引用在定义时必须进行初始化???定义一个引用并没有定义一个对象,所以不分配任何内存空间,不调用构造函数。 3)对象数组类名 对象数组名[常量表达式n]……[常量表达式2][常量表达式1];对象数组的初始化需要使用构造函数完成。 数组名[n]={ ???????????? 构造函数(数据成员1初值,数据成员2初值,……), ???????????? 构造函数(数据成员1初值,数据成员2初值,……), ???????????? …… ???????????? 构造函数(数据成员1初值,数据成员2初值,……); ????? } 使用:对象数组名[下表表达式1][下表表达式2]……[下表表达式m].数据成员名 4)动态对象随时动态建立并随时消失的对象。对象指针 = new 类名(初值表); 删除: delete 对象指针; 动态数组对象 对象指针=new 类名[数组大小];???delete [] 对象指针; )this指针 this指针不是调用对象的名称,而是调用对象的指针的名称this值不能改变,它总是指向当前调用对象。this指针是一个系统预定义的特殊指针,指向当前对象,表示当前对象的地址。 组合对象 一个含有其他类对象的类称为组合类,组合类的对象称为组合对象。 定义:?? 先定义成员类,定义组合类组合对象的初始化: ??初始化机制

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档