您的位置:首页 > 其它

条款19:设计class犹如设计type

2009-11-09 14:00 225 查看
class的设计就是type的设计。在定义一个新type之前,请考虑一下主题:

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

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

3.新type的对象如果被pass-by-value,意味着什么?这决定了copy构造函数的实现。

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

5.你的新type需要配合某个继承图系么?

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

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

8.什么样的标准函数应该驳回?比如驳回默认构造函数等。

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

10.什么是新type的“未声明接口”(指譬如效率、异常安全性等潜在的接口)?

11.你的新type有多么一般化?也许你不该定义一个新的class,而是新的class template。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: