|
发表于 2020-6-26 09:30:01
|
显示全部楼层
作为成员的运算符比起作为非成员的运算符,在声明和定义时,形式上少了一个参数,这是因为c++
对所有的成员函数隐藏了了第一个参数this
同样的,重载后的运算符作为成员函数也比作为友元的函数参数多一个,拿 运算符 + 来说,在成员函数中,它第一个参数是它所属的那个对象,第二个是一个参数,而在友元函数中,两个对象都是参数
声明如下
成员函数版: SomeClass operator + (SomeClass )
友元函数版: friend SomeClass operator +(SomeClass ,SomeClass)
Someclass 为一个类名,假设这两个函数返回的都是 SomeClass 对象.
|
|