C++期末复习解说.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象编程(C++) 中南大学信息科学与工程学院 计算机工程系 黄家玮 jiaweihuang@csu.edu.cn 课程复习 1 考试时间和题型 2 课程重点 3 典型例题 1 考试时间和题型 考试时间:22日(周6)3-4节,100分钟 考试地点: 主校区科南307(19,20),401(21) 答疑时间:17日(周1)3点半,新校区A座207. 选择题(每小题1分,共15分) 填空题(每空1分,共15分) 判断题(每小题1分,共15分)、 改错(小程序各1个错误,指出错误行数,并进行改正每小题4分,共8分) 程序填空题 (每条语句2分,共14分) 简答题(每题4分,共12分) 写程序运行结果(第小题6分,共12分) 编程题(9分) 2 知识复习 面向对象程序设计的基本概念:类、对象 特性:抽象、封装、继承、多态 成员属性:公有、私有、保护 面向过程和面向对象程序的比较:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的 C++程序的构成: 预处理、全局声明、函数 C++程序的编写和实现过程: 编写(cpp)、编译(obj,o) 、链接(exe)、运行、修改 C++的数据类型:基本类型的长度 C++的运算符:优先级比较 C++程序的三种基本的控制结构 链表的建立、查找、插入、删除、逆序 内存操作运算符new和delete “引用”的定义和使用方法 对象数组:数组不仅可以由简单变量组成(例如整型数组的每一个元素都是整型变量),也可以由对象组成。 例如 Student stud[50]; //假设已声明了Student类,定义stud数组,有50个元素. 构造函数 有默认参数的构造函数 析构函数 友元(friend)函数:可以访问与其有好友关系的类中的私有成员。 内置函数:编译时将所调用函数的代码直接嵌入到主调函数中,关键字inline 复制构造函数也是构造函数,但它只有一个参数,这个参数是本类的对象(不能是其他类的对象),而且采用对象的引用的形式(一般约定加const声明,使参数值不能改变,以免在调用此函数时因不慎而使对象值被修改)。 复制构造函数的形式: Box∷Box(const Box b) {height=b.height; width=b.width; length=b.length; } 复制构造函数的使用: Box box2(box1); 函数的重载(function overloading):同一函数名定义多个函数,这些函数的参数个数和参数类型不同。 运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。也就是说,运算符重载是通过定义函数实现的。运算符重载实质上是函数的重载。 重载运算符的函数一般格式如下: 函数类型 operator 运算符名称 (形参表列) { 对运算符的重载处理 } 例如:Complex operator+(Complex c2); 类模板包含类型参数,因此又称为参数化的类。如果说类是对象的抽象,对象是类的实例,则类模板是类的抽象,类是类模板的实例。利用类模板可以建立含各种数据类型的类。 类模板不是一个具体的类,类模板体中的类型并不是一个实际的类型,只是一个虚拟的类型,无法用它去定义对象。 声明类模板: template class 类型参数名 使用类模板:用实际类型名去取代虚拟的类型: Compare int cmp(4,7); 即在类模板名之后在尖括号内指定实际的类型名,在进行编译时,编译系统就用int取代类模板中的类型参数,这样就把类模板具体化了,或者说实例化了。 this指针: 每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。 静态数据成员:定义为静态数据成员后,各对象中的数据的值是一样的,它就为各对象所共有,而不只属于某个对象的成员。静态数据成员不属于某一个对象,在为对象所分配的空间中不包括静态数据成员所占的空间。 静态数据成员可以初始化,但只能在类体外进行初始化。如 int Box∷height=10; //表示对Box类中的数据成员初始化 静态成员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员。非静态成员函数有this指针,而静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。 在所有的场合中,对象中的所有成员的值都不能被修改。凡希望保证数据成员不被改变的对象,可以声明为常对象。

文档评论(0)

a336661148 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档