C++运算符重载:成员函数 vs 友元函数
C++运算符重载:成员函数 vs 友元函数
在C++中,我们可以通过两种方式重载运算符:
- 成员函数: 将运算符重载函数定义为类的成员函数。此时,函数只有一个参数,代表运算的右操作数,而左操作数则是调用该函数的对象本身。例如,复数类中成员函数
operator+
用于将两个复数相加。 - 友元函数: 将运算符重载函数声明为类的友元函数。友元函数可以访问类的私有成员,并可以定义两个参数,分别代表运算的左右操作数。例如,友元函数
operator+
可以用于将一个复数与一个整数相加。
两种方式的选择取决于具体的应用场景:
- 当运算符的操作数必须是该类的对象时,通常使用成员函数进行重载。
- 当运算符的操作数可以是不同类型,或者需要访问类的私有成员时,可以使用友元函数进行重载。
5.89MB
文件大小:
评论区