C++ 我可以使用什么作为fstream和cout的参考? #包括 #包括 使用名称空间std; 无效写入(ostream&os,常量字符*文本){ 操作系统你可以传递一个包含ostream引用的容器,或者创建一个helper类来打开一个文件并打印到它,然后cou
我可以使用什么作为fstream和cout的参考?C++ 我可以使用什么作为fstream和cout的参考? #包括 #包括 使用名称空间std; 无效写入(ostream&os,常量字符*文本){ 操作系统你可以传递一个包含ostream引用的容器,或者创建一个helper类来打开一个文件并打印到它,然后cou,c++,file,fstream,C++,File,Fstream,我可以使用什么作为fstream和cout的参考? #包括 #包括 使用名称空间std; 无效写入(ostream&os,常量字符*文本){ 操作系统你可以传递一个包含ostream引用的容器,或者创建一个helper类来打开一个文件并打印到它,然后cout。我不知道你说的“这很奇怪”是什么意思你是说它需要代码行吗?不,这不是很奇怪。这是正确的方法。给自己一些时间。几年后,它看起来不会那么奇怪,你会认为这是C++最漂亮的方面。想打赌吗?这是一个很好的多态性例子。函数需要引用。e到一个基类,您可以
#包括
#包括
使用名称空间std;
无效写入(ostream&os,常量字符*文本){
操作系统你可以传递一个包含ostream
引用的容器,或者创建一个helper类来打开一个文件并打印到它,然后cout
。我不知道你说的“这很奇怪”是什么意思你是说它需要代码行吗?不,这不是很奇怪。这是正确的方法。给自己一些时间。几年后,它看起来不会那么奇怪,你会认为这是C++最漂亮的方面。想打赌吗?这是一个很好的多态性例子。函数需要引用。e到一个基类,您可以将一个派生类传递给它。这很有效!这是因为cout
和fstream
都是ostream
s,因为它们都继承自ostream
。请参见图表。
#include <iostream>
#include <fstream>
using namespace std;
void writeit( ostream& os, const char* text) {
os << text;
}
int main()
{
ofstream myfile;
myfile.open("text.txt");
writeit(myfile, "Hello world");
writeit(cout, "Hello world");
return 0;
}