Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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+中使用面向对象的文件I/O+; 所以我用C++和OO做了一点自学。我正在使用一些旧的Uni实验室来教我自己如何做,我一直在用OO结构做文件I/O。我的第一个问题:将CSV文件中的信息写入对象,然后再写入另一个文本文件的最佳做法是什么?我最初使用的实验室在每个类中都有一个istream和ostream操作符作为friends,然后最终让我们创建访问器和变异器来返回或修改对象的信息,并删除friends操作符。那么,我们是否在每个类中保留写作功能?或者我们为此创建一个单独的writer类_C++_Oop - Fatal编程技术网

在C+中使用面向对象的文件I/O+; 所以我用C++和OO做了一点自学。我正在使用一些旧的Uni实验室来教我自己如何做,我一直在用OO结构做文件I/O。我的第一个问题:将CSV文件中的信息写入对象,然后再写入另一个文本文件的最佳做法是什么?我最初使用的实验室在每个类中都有一个istream和ostream操作符作为friends,然后最终让我们创建访问器和变异器来返回或修改对象的信息,并删除friends操作符。那么,我们是否在每个类中保留写作功能?或者我们为此创建一个单独的writer类

在C+中使用面向对象的文件I/O+; 所以我用C++和OO做了一点自学。我正在使用一些旧的Uni实验室来教我自己如何做,我一直在用OO结构做文件I/O。我的第一个问题:将CSV文件中的信息写入对象,然后再写入另一个文本文件的最佳做法是什么?我最初使用的实验室在每个类中都有一个istream和ostream操作符作为friends,然后最终让我们创建访问器和变异器来返回或修改对象的信息,并删除friends操作符。那么,我们是否在每个类中保留写作功能?或者我们为此创建一个单独的writer类,c++,oop,C++,Oop,将序列化逻辑放在类中并将其绑定到运算符的问题忘记“面向对象”的概念。只需学习iostream库的规范用法。对于流操作,为每个类编写一个输入和输出操作符std::istream&operator>>(std::istream&s,类型&数据)和std::ostream&operator但如果您只想读取CSV文件:哦。。。但整个单元都是基于OOP的。该单元背后的想法是创建一个结构,如果需要,可以翻译成不同的语言。所以这个OOP结构可以翻译成java或python等。使用规范/静态结构比OO有什么优势

将序列化逻辑放在类中并将其绑定到
运算符的问题忘记“面向对象”的概念。只需学习iostream库的规范用法。对于流操作,为每个类编写一个输入和输出操作符<代码>std::istream&operator>>(std::istream&s,类型&数据)
std::ostream&operator但如果您只想读取CSV文件:哦。。。但整个单元都是基于OOP的。该单元背后的想法是创建一个结构,如果需要,可以翻译成不同的语言。所以这个OOP结构可以翻译成java或python等。使用规范/静态结构比OO有什么优势?谢谢@LokiAstari,这回答了我的第一个问题。因此,使用这些写操作符,如果我想将数据从istream写入一个继承的类,我可以使用:
s>>Results
其中Results是Result类的实例吗?啊,那么你认为上面的方法效率不高?编写一个只用于流式处理对象数据的类是一种方法吗?这很容易解决。您只需为特定格式创建一个序列化程序类。@Loki:对,Zayd问他为什么要从
operator@Zayd:这与效率无关(只要函数调用绑定在编译时完成,它们的效率都是一样的——添加虚拟函数可能会降低效率)。这是关于可维护性的。更改文件格式是否需要触摸程序中的每个类?您是否将文件逻辑与其他功能混合在一起?这些因素使得支持不断变化的需求变得更加困难。