Item 19 类的设计

设计一个类,要考虑如下几方面:

1> 如何创建、销毁?这会影响:ctor, dtor, operator new, operator delete
2> 初始化和赋值有什么差别?
3> 传值的时候要做什么?会影响copy ctor
4> 合法值都有哪些?会影响ctor、赋值、setter、异常。
5> 是否继承自某个类体系?如果是,要遵循其定义规范。
6> 需要什么样的类型转换?是隐式的还是显示的?
7> 操作符
8> 编译器生成的函数是否有不需要的
9> 谁可以访问其成员
10> 如果在性能、异常安全、资源管理上有需求,是否该提供一些接口呢?
11> 是否需要模板类
12> 如果只是想通过派生来增加功能,也许用定义几个模板或函数会更好

你可能感兴趣的:(it)