实现C++中的cout

在学习C++时,一直很好奇cout输出时用<<符号来输出,学了操作符重载后才明白,于是自己写了一个很简单的cout

代码如下:

out.h:

#ifndef OUT_H
#define OUT_H
 
 
namespace mystd
{
    class mycout
    {
    public:
        mycout operator << (const char * str);
    };
    extern mycout cout;
    extern char *endl;
}
 
 
#endif // OUT_H
 
 
 
 

out.cpp:

#include "out.h"
#include <stdio.h>
namespace mystd
{
    mycout mycout::operator << (const char * str)
    {
        mycout c;
        printf(str);
        return c; //返回mycout对象是为了可以多次使用<<输出
    }
    mycout cout;
    char *endl = "\n";
}
 
 

main.cpp:

#include "out.h"
 
 
using namespace mystd;
 
 
int main()
{
    cout << "Hello" << " " << "world!" << endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/u014783685/article/details/77430280