Effective C++ 条款19

设计class犹如设计type

定义一个class,定义一个好的class需要考虑很多条件。

1.新type的对象应该如何被创建和销毁?

2.对象初始化和对象赋值该有什么样的区别?

3.新type的对象如果被pass by value,意味着什么?

4.什么是新type的合法值?

5.新type需要配合某个继承图系(inheritance graph)吗?

6.新type需要什么样的转换?

7.什么样的操作符和函数对此新type而言是合理的?

8.什么样的函数应该被驳回?

9.谁该取用新type的成员?

10.你真的需要一个新type吗?

你可能感兴趣的:(Effective C++ 条款19)