Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::cout的最低限度重新实施_C++_C_Namespaces_Operator Overloading - Fatal编程技术网

C++ std::cout的最低限度重新实施

C++ std::cout的最低限度重新实施,c++,c,namespaces,operator-overloading,C++,C,Namespaces,Operator Overloading,你能帮我重新实现std::cout最基本的功能吗 要求:

你能帮我重新实现std::cout最基本的功能吗

要求:

2) 如果它只适用于一种类型,那么就可以使用“char*”。目标是找到最简单的实现

3) 以下行应在不进行任何修改的情况下工作(应使用命名空间):


std::cout这里是解决方案,您不是用操作符引用对象,而是引用类类型。您需要创建一个该类型的对象来使用“甚至不好的性能”作为目标。我认为,这对于学习C++的人来说是一个很好的教训,因为即使是“Hello World”C++应用程序也包含很多东西(语法进步),这些东西不太容易掌握。这不是一个拥挤的家庭作业,没有人会提供你的代码。您可以请求帮助,而不是代码。若你们删除这个问题会更好,否则你们只会得到否决票。谢谢。既然您提到我可以在“cout”变量定义的行中添加“extern”关键字,那么如果“main”函数是在单独的“main.cpp”文件中定义的,您能否帮助我构造“main.cpp”文件中的附加第一行?(即使在我重命名名称空间和类名之后,您从iostream头中提取的行也不起作用。)
std::cout << "Hello World!\n";
#include <stdio.h>

namespace std {
  class cout {
    public:
      void operator << (char* s) {
        printf("%s", s);
      }
  };
}

int main() {
  std::cout << "Hello World!\n"; // Compilation error: expected an identifier
}