闭卷解释从不变量设计类的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释访问控制与封装的编译阶段、对象状态、规则和失败边界。
闭卷解释构造、委托与成员初始化的编译阶段、对象状态、规则和失败边界。
闭卷解释成员函数与this的编译阶段、对象状态、规则和失败边界。
闭卷解释运算符重载的边界的编译阶段、对象状态、规则和失败边界。
闭卷解释继承、虚函数与多态的编译阶段、对象状态、规则和失败边界。
闭卷解释类设计实验的编译阶段、对象状态、规则和失败边界。
规则:public interface hides representation;任务:写一个能编译运行的最小程序展示“访问控制与封装”,记录输入、关键对象状态、输出和编译命令,并用规则 public interface hides representation 解释结果;边界:不得把“访问控制与封装”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:class preserves an invariant;任务:写一个能编译运行的最小程序展示“从不变量设计类”,记录输入、关键对象状态、输出和编译命令,并用规则 class preserves an invariant 解释结果;边界:不得把“从不变量设计类”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:this identifies receiver;任务:写一个能编译运行的最小程序展示“成员函数与this”,记录输入、关键对象状态、输出和编译命令,并用规则 this identifies receiver 解释结果;边界:不得把“成员函数与this”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:members initialize in declaration order;任务:写一个能编译运行的最小程序展示“构造、委托与成员初始化”,记录输入、关键对象状态、输出和编译命令,并用规则 members initialize in declaration order 解释结果;边界:不得把“构造、委托与成员初始化”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:virtual dispatch uses dynamic type;任务:写一个能编译运行的最小程序展示“继承、虚函数与多态”,记录输入、关键对象状态、输出和编译命令,并用规则 virtual dispatch uses dynamic type 解释结果;边界:不得把“继承、虚函数与多态”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:operators preserve expected laws;任务:写一个能编译运行的最小程序展示“运算符重载的边界”,记录输入、关键对象状态、输出和编译命令,并用规则 operators preserve expected laws 解释结果;边界:不得把“运算符重载的边界”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:composition before inheritance;任务:写一个能编译运行的最小程序展示“类设计实验”,记录输入、关键对象状态、输出和编译命令,并用规则 composition before inheritance 解释结果;边界:不得把“类设计实验”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界