c++面向对象程序设计(第2版)

c++面向对象程序设计

[toc]

c++的初步知识

概念

  • 与c的异同
    • 面向对象
    • 注释
    • 输入输出流对象
    • 不同的头文件
    • 命名空间
      • 私有公有
      • 数据
      • 函数
      • 封装
      • 对象
  • c的扩充
    • 输入输出
    • 函数原型声明
    • 函数重载
      • 参数的不同
    • 函数模版
    template
    通用函数定义
    
    • 有默认参数的函数
    • 变量的引用
    • 内置函数
    • 作用域运算符::(访问同名全局变量)
    • 字符串变量
    • 动态分配/撤销内存
      • new
      • delete

类和对象的特性

概念

  • 面向对象程序设计
    • 对象
      • 属性
      • 行为
    • 特点
      • 封装
      • 抽象
      • 继承与重用
      • 多态
    • 程序=对象s+消息s
    • 面向对象的软件开发
      • 分析
      • 设计
      • 编程
      • 测试
      • 维护
  • 类的声明与对象的定义
  • 类的成员函数
    • 内置成员函数
    • 成员函数的储存
  • 对象成员的引用
  • 类的封装和信息隐蔽
    • 类声明和成员函数定义的分离
      • 类库
        • 类声明头文件
        • 编译过的函数定义目标文件
  • 面向对象
    • 对象
    • 方法
    • 消息

怎样使用类和对象

  • 类的初始化
    • 构造函数
      • 默认参数的构造函数
      • 构造函数重载
    • 参数初始化表
  • 析构函数
  • 有关对象的指针
  • 共用数据保护
    • 常对象
      • 声明同时必须初始化
      • 只能调用常成员函数只读访问数据成员
      • 例外:mutable
    • 常对象成员
      • 常数据成员只能通过参数初始化表进行初始化
      • 常对象的数据成员都是常数据成员
    • 常成员函数
      • 可以访问所有数据,但不能修改
      • 声明和定义时都要有const关键字
    • 指向对象的常指针:不可改变指向
    • 指向常对象的指针:不可改变指向对象的值
    • 对象的常引用
  • 对象的动态建立和释放
    • 指针=new 对象
  • 对象的赋值和复制
  • 静态成员
    • 静态数据成员
      • 只能在类体外进行初始化
    • 静态成员函数
      • 只能访问静态数据
  • 友元
    • 友元函数:访问私有成员
    • 友元类
  • 类模版
    • 模板类的定义
    • 类外定义模版类成员函数

对运算符进行重载

  • 一名多用
    • 拓展处理自定义数据类型
  • 使用方法
    • 运算符重载格式
      • 函数类型 operator 运算符名称(形参表){处理语句}
    • 规则
      • 类成员函数:隐式一个本类形参
        • 单目运算符,复合运算符
        • 赋值,下标,函数调用,成员运算符
        • 转换构造函数:只有一个形参
        • 类型转换函数
      • 友元函数
        • 双目
        • 流运算符
          • istream
          • ostream

继承与派生

  • 继承方式
    • public
    • private
    • protected
  • 多级派生
    • 简单派生构造函数
    • 有子对象派生构造函数
    • 多层派生构造函数
    • 析构函数
  • 多重继承
    • 成员名不冲突
    • 二义性
      • 派生同名覆盖
      • 直接基类作用域符
    • 虚基类:只保留一份基类成员
      • 所有直接派生类声明为虚基类
      • 虚基类派生构造函数全写
  • 基类与派生类的转化
    • 派生给基类赋值
      • 直接赋值
      • 引用赋值
      • 指针赋值
      • 传参
  • 继承组合
    • 构造函数写子对象

多态性与虚函数

  • 多态性
    • 静态多态
      • 使用对象名调用
    • 动态多态
      • 基类指针调用不同函数
      • 虚函数
        • 纯虚函数
        • 抽象类

输入输出流

  • 标准输入输出
  • 文件输入输出
    • 文本文件
    • 二进制文件
  • 字符串流输入输出

C++工具

  • 异常处理
  • 命名空间

你可能感兴趣的:(c++面向对象程序设计(第2版))