抽象数据类型(Abstract Data Type,ADT)
使用ADT遵循以下规则:
第一:将所有成员变量设为类的私有成员
第二:将用户程序员需要的每个基本操作都设置为类的公共成员函数,并完善地指定如何使用每个公共成员函数;
第三:将任何帮助函数设置为私有成员函数。
在成员函数下使用const 放在函数声明的后面如下
class Money
{
public:
void output(ostream& outs) const;
}
修饰符const 要求同时用于函数声明和函数定义中所以函数output 的函数定义像下面那样:void Money::output(ostream& outs) const
{
..................
}
修饰符const 要么不用要么都用针对任何类参数以及类的成员函数,只要允许就应该使用修饰符const 如果const 并不是每次适合一个类,就永远不要为那个类使用它了。
使用<<插入操作符是二元操作符像+, -那样。
ostream& operator<<(ostream&outs,const Monday& amount)
{
...........
return 0;
}
在返回类型中只要是操作符或者函数返回一个流,就必须在返回类型 名称末尾加一个&。这个简单的规则允许重载<<或>>
为返回值类型名称类型后面添加&意思是操作符或函数要返回一个引用,前面讲的所有函数和操作符只是一个返回值,但是如果一个返回值死一个流,就不能简单的返回流的值。
因为对于一个流,它的值可能是一个完整的文件,一个键盘或者屏幕,而返回的那些东西是没有什么意义的,所以你可考虑只返回流本身而不是流的值。为返回类型名称后面加一个& 就指明操作符或者函数要返回一个引用,着表示返回的是对象本身,而不是对象的值。