相关疑难解决方法(0)

运算符重载的基本规则和习惯用法是什么?

注意:答案是按照特定的顺序给出的,但由于许多用户根据投票而不是给出的时间对答案进行排序,因此这里是答案索引,它们是最有意义的顺序:

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ operator-overloading operators c++-faq

2074
推荐指数
8
解决办法
88万
查看次数

运算符在类外重载

有两种方法可以为C++类重载运算符:

课内

class Vector2
{
public:
    float x, y ;

    Vector2 operator+( const Vector2 & other )
    {
        Vector2 ans ;
        ans.x = x + other.x ;
        ans.y = y + other.y ;
        return ans ;
    }
} ;
Run Code Online (Sandbox Code Playgroud)

课外

class Vector2
{
public:
    float x, y ;
} ;

Vector2 operator+( const Vector2& v1, const Vector2& v2 )
{
    Vector2 ans ;
    ans.x = v1.x + v2.x ;
    ans.y = v1.y + v2.y ;
    return ans ;
}
Run Code Online (Sandbox Code Playgroud)

(显然在C#中你只能使用"外部类"方法.) …

c++ operator-overloading

44
推荐指数
3
解决办法
5万
查看次数

运算符重载(朋友和成员函数)

使用friend关键字的运算符重载和作为类中的成员函数有什么区别?

此外,任何一元运算符重载(即作为朋友与成员函数)的情况有何不同?

c++ oop operator-overloading

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×3

operator-overloading ×3

c++-faq ×1

oop ×1

operators ×1