相关疑难解决方法(0)

重载operator <<时,C++流作为参数

我正在尝试编写自己的日志记录类并将其用作流:

logger L;
L << "whatever" << std::endl;
Run Code Online (Sandbox Code Playgroud)

这是我开始使用的代码:

#include <iostream>

using namespace std;


class logger{
public:
    template <typename T>
    friend logger& operator <<(logger& log, const T& value);
};

template <typename T>
logger& operator <<(logger& log, T const & value) {
    // Here I'd output the values to a file and stdout, etc.
    cout << value;
    return log;
}

int main(int argc, char *argv[])
{
    logger L;
    L << "hello" << '\n' ; // This works
    L << "bye" << …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading stream endl

10
推荐指数
2
解决办法
3590
查看次数

标签 统计

c++ ×1

endl ×1

operator-overloading ×1

stream ×1