EC笔记:第4部分:19、设计class犹如设计type

设计一个class,应该考虑以下问题:

  1. 新type的对象应该怎样创建和销毁?
    1. 构造函数
    2. 析构函数
    3. 内存分配
    4. 内存释放
  2. 对象的初始化和对象的赋值应该有什么样的差别?
    1. 拷贝构造函数
    2. 赋值运算符
  3. 新对象如果被用值传递,这意味着什么呢?
    1. 拷贝构造函数
  4. 新对象的合法持有哪些?
    1. Setter
    2. 错误检查
  5. 对象是否会被继承?是否继承自其他类型?
    1. 虚函数
    2. 析构函数
  6. 新类型需要什么样的转换?
    1. Operator操作符
    2. Explicit构造函数
  7. 什么样的操作符合函数对此新类型是合理的?
    1. 成员函数
    2. 非成员函数
    3. 静态函数
  8. 什么样的标准函数应该驳回?
    1. Private
  9. 谁该是用新的类型?
    1. 友元函数
    2. Protected函数/成员
  10. 未声明接口?
    1. 多线程
    2. 异常安全性
    3. 效率
  11. 是否一般化?
    1. 模板类
  12. 确实需要一个新的type吗?
    1. 是否有其他路径可以得到相同的结果?
posted @ 2016-12-29 19:54  SkyFireITDIY  阅读(218)  评论(0编辑  收藏  举报