1.4C++运算符重载作函数

C++运算符重载函数作为类成员函数

作为类成员函数时,运算符重载函数使用类的成员变量作为操作数。

写个 demo:
1.4C++运算符重载作函数_第1张图片
运算符重载函数作为类成员函数时,需要注意:运算符重载函数必须是类的成员函数,不能是普通函数或者全局函数。
C++运算符重载函数作为友元函数

作为友元函数时,运算符重载函数不使用类的成员变量作为操作数,但可以访问类的私有成员变量。

写个 demo:
1.4C++运算符重载作函数_第2张图片
在将运算符重载函数作为友元函数时,需要注意:运算符重载函数必须是全局函数或者类的友元函数,不能是成员函数。

在 C++ 中,像赋值运算符、下标运算符、函数调用运算符,必须定义为类的成员函数。

而有的运算符则不能定义为类的成员函数,如流插入<<、流提取>>、类型转换运算符。

由于友元的使用会破坏类的封装,因此尽量将运算符函数作为成员函数。

但考虑到综合因素,一般将单目运算符重载为成员函数,将双目运算符重载为友元函数。

下一篇小林计划写:单目运算符重载。

你可能感兴趣的:(C++,c++,开发语言)