设计class犹如设计基本数据类型
在设计一个class时,可以问一下以下几个问题:
- 对象应该如何被创建和销毁
- 对象的初始化和对象的赋值该有什么样的差别
- 对象如果被passed by value,意味着什么?copy构造函数用来定义一个class的pass-by-value的行为
- 对象数据成员的合法值
- class的继承关系
- class需要什么样的转换(显示转换和隐式转换)
- class需要用到操作符函数嘛?应该使用成员函数版还是非成员函数版?
- class成员的访问属性
- 是要设计成一个class还是设计成一个template class