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