福建工程学院C++期末复习总结5.ppt

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

总复习 面向对象程序设计语言 类的声明与使用 类的声明 class 类名称 { public: 外部接口 protected: 保护型成员 private: 私有成员 }; 成员函数的实现 返回值类型 类名::函数成员名(参数表) { 函数体 } 声明对象 类名 对象名; 访问对象的公有成员 对象名.公有成员函数名(参数表) 构造函数 作用就是在对象被创建时进行初始化 函数名与类名相同,没有返回值。可以有多种重载形式。 如果类中没有写构造函数,编译器会自动生成一个默认形式的构造函数 默认构造函数是调用时可以不给实参的构造函数 程序自动调用拷贝构造函数的时刻 ① 当用类的一个对象去初始化该类的另一对象时 ② 如果函数的形参是类的对象,调用函数时,进行形参和实参结合时。 ③ 如果函数的返回值是类的对象,函数执行完成返回调用者时。 拷贝构造函数 拷贝构造函数的形参是本类的对象的引用 作用是使用一个已经存在的对象,去初始化同类的一个新对象 如果没有定义类的拷贝构造函数,系统就会在必要时自动生成一个默认的拷贝构造函数 有指针成员时往往需要具有深拷贝功能的拷贝构造函数 析构函数 在对象的生存期即将结束的时刻被自动调用。 用来完成对象被删除前的一些清理工作。 可以是虚函数。 名字是类名的前面加一个“~”符号,不返回任何值,没有函数类型,也没有函数参数。 作用域与可见性 作用域是一个标识符在程序正文中有效的区域。 函数原型作用域、块作用域、类作用域和文件作用域。 程序运行到某一点,能够引用到的标识符,就是该处可见的标识符。 作用域可见性的一般规则是 标识符要声明在前,引用在后。 在同一作用域中,除了重载的函数名以外,不能声明同名的标识符。 在没有互相包含关系的不同的作用域中声明的同名标识符,互不影响。 如果在两个或多个具有包含关系的作用域中声明了同名标识符,则外层标识符在内层不可见。 派生类的义语法 class 派生类名:继承方式 基类名1,继承方式 基类名2,…,继承方式 基类名n { 派生类成员声明;}; 继承方式: public,protected,private 构造函数和析构函数 派生类构造函数的语法形式为: 派生类名::派生类名(参数总表):基类名1(参数表1),…,基类名n(参数表n),内嵌对象名1(内嵌对象参数表1),…,内嵌对象名m(内嵌对象参数表m) { 派生类构造函数体} 构造函数执行次序: ①调用基类构造函数。 ②调用成员对象的构造函数。 ③执行派生类的构造函数体中的内容。 派生类析构函数的声明方法与没有继承关系的类中析构函数的声明方法完全相同,系统会自动调用基类及对象成员的析构函数来对基类及对象成员进行清理。 析构函数的调用次序和构造函数正好相反。 虚继承 当某类的多个基类是从一个共同基类派生而来时,在最远派生类的对象中,来自不同直接基类的同名数据成员在内存中同时拥有多个拷贝,同一个函数名会有多个映射。可以使用作用域分辨符来唯一标识并分别访问它们,也可以将共同基类设置为虚基类。 在声明派生类时,可以声明虚继承方式,其语法形式为: class 派生类名:virtual 继承方式 基类名 多态性概念 编译时的多态和运行时的多态 函数重载、运算符重载 虚函数 运算符重载的概念 运算符重载是对已有的运算符赋予多重含义 必要性 C++中预定义的运算符其运算对象只能是基本数据类型,而不适用于用户自定义类型(如类) 实现机制 将指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实参。 编译系统对重载运算符的选择,遵循函数重载的选择原则。 运算符重载的规则和限制 可以重载C++中除下列运算符外的所有运算符:. .* :: ?: 只能重载C++语言中已有的运算符,不可臆造新的。 不改变原运算符的优先级和结合性。 不能改变操作数个数。 经重载的运算符,其操作数中至少应该有一个是自定义类型。 注意 前置单目运算符与后置单目运算符的区分 类型转换符必须作为成员函数重载 =、[]、()、-只能作为成员函数重载 重载的“=”和“ []”运算符函数,返回值应声明为引用。 类如果需要重载运算符=,通常也就需要定义自己特有的拷贝构造函数,反之亦然。 流的输入运算符和输出运算符只能作为非类成员函数重载。 重载类型转换运算符时,不允许指定返回值类型(也不要写void) 题型 填空题 选择题 读程序填空、写结果 编程题 编程题 编写一个完整的C++程序,用递归方法求阶乘n!。其递归公式如下: 编程题 编写函数sum求多项式前n项之和:1-2/1+3

文档评论(0)

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

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

1亿VIP精品文档

相关文档