类接口的一般性原则:
1.保持接口的完整性
2.保持接口的最小化
3.提供构造函数
4.支持(或禁止)拷贝
5.使用类型来提供完善的类型检查
6.支持不可修改的成员函数
7.在析构函数中释放资源
原则参见相册
5.使用类型来提供完善的类型检查
举例:Date d1(4,5,2005);
Date d2(2005,4,5);
第一个问题:2005无效的日期,我们可以通过构造函数初始化之后进行检测
第二个问题:4月5日 还是5月4日,参数有效性是检查不出来的,这时候我们可以通过一种明显的解决方案使用类型系统
class Date{
public:
enum Month{
Jan = 1,Feb,...Dec
};
Date(int y,Month m,int d);
//......
private:
int y;
Month m;
int d;
}
如果出现月份日期颠倒,编译器会报错
Date(2005,4,5);//error
Date(2005,Date::Jan,6);//ok 我们在类名后面用::,在对象后面用.(点)
时间: 2024-10-11 11:46:52