C++运算符重载问题4

以下哪一个操作符应该优先作为全局函数而不是成员方法重载? (A) 后缀++ (B) 比较运算符 (C) 插入运算符<< (D) 前缀++ 答复: (C) 说明: cout是编译器定义的类ostream类的对象。

null

当我们执行“cout< 重载插入运算符的一种方法是修改ostream类,这可能不是一个好主意。所以我们制作了一个全局方法。下面是一个例子。

#include <iostream>
using namespace std;

class Complex
{
private:
    int real;
    int imag;
public:
    Complex(int r = 0, int i =0)
    {
        real = r;
        imag = i;
    }
    friend ostream & operator << (ostream &out, const Complex &c);
};

ostream & operator << (ostream &out, const Complex &c)
{
    out << c.real;
    out << "+i" << c.imag;
    return out;
}

int main()
{
    Complex c1(10, 15);
    cout << c1;
    return 0;
}

这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享