重载的操作符在类体中被声明声明,方式同普通成员函数一样,只不过它的名字包含关键字operator,以及紧随其后的一个预定义操作符(该操作符必须来自C++预定义操作符的一个子集见表15.1)。
为什么要进行操作符重载??????
关于操作符重载要遵循这么多原则(此处不解释),那么为什么还要进行操作符重载呢?为什么我不是写一个add()函数,代替operator +()呢??个人感觉C++中之所以要支持运算符的重载是为了与内置数据类型统一操作,比如:c = a + b 和 c = add(a,b),这看起来哪个更直观一点呢,显然是前者了。同时,我们希望操作我们自己定义的数据类型能像操作int和double这些内置数据类型一样方便。可能举这个加法的例子有点不好,现在加入重载的运算符是[],<<,^,|等呢?这时我们要用什么成员函数代替呢??代替之后又是一种什么效果呢?会一眼就看出来这个函数要干什么吗??
给这类函数一种特殊的命名方式,使该函数更直观!(只要知道这是一类函数名很奇怪的函数就可以啦!!!!!!)