一、运算符函数 在C++中会把运算符当做函数处理,一个表达式,其实是调用了很多的运算符函数完成计算的,这种特性对于内建类型是没有用的,但是对于自建类型的数据,是可以进行个性化设计,可以大大提高代码的可读性、易用性,例如:string类 string str1,str2; str1 += str2; strcat() str1 == str2; strcmp() 运算符函数的格式:[#是运算符 O是类对象] 单目运算符: #O 或者 O# 就会被编译器翻译成 成员函数: [] O::operator#(void) { } 返回值是不确定的,唯一的参数就是调用者 全局函数: [] operator#(O& o) { // 全局运算符函数不属于任何类,因此需要把调用者作为参数传递 } 注意:运算符成员函数、全局函数,只能实现一个,不能同时实现,会有歧义 双目运算符: a # b 注意:一定是运算符左边的对象发起的函数调用 成员函数: [] A::operator#(B& b) { } 全局函数: [] operator#(A& a,B& b) { |
运算符函数
于 2022-02-28 20:22:09 首次发布