C++ 如何编写一个不是成员函数的运算符?

标签 c++

有人知道如何为不是类成员函数的类编写运算符吗?

最佳答案

就让它成为一个自由函数,或者一个友元函数。一个很好的例子是 operator<< :

class X {
    public:
    int x; 
}

ostream& operator<< (ostream& os, const X& x) {
    os << x.x;
    return os;
}

将其设为友元函数的好处是您可以直接访问私有(private)成员,而自由函数必须通过公共(public)方法访问所有成员。

关于C++ 如何编写一个不是成员函数的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639172/

相关文章:

c++ - C++中的整数和函数

c++ - 在 Redhat 上编译 SOCAT

c++ - Python 和 C++ 的记录器

c++ - 使用 QT 和 MinGW32 在 Windows 上检查内存泄漏

c++ - 通过加入现有 QHash 来初始化 const QHash

c++ - 源文件中的函数已在另一个源文件中定义错误

c++ - 模板模板和部分特化 : a puzzle

c++ - 为什么抛出局部变量调用 moves 构造函数?

c++ - 静态库中命名空间内简单函数的编译错误

c++ - 遍历无序 multimap