【发布时间】:2023-03-19 07:25:01
【问题描述】:
我有一个类结构,它代表(内部)我希望输出到文件的数据。
一些成员变量是数据类私有的,因此它可以自我管理并阻止事情出错。
然后我希望将这些数据输出为多种文件格式。我可以做类似的事情
savefile_formatA(DataClass* pDataClass, ofstream& fout);
savefile_formatB(DataClass* pDataClass, ofstream& fout);
除了函数需要随后查看DataClass 的私有成员变量。我当然可以只创建 savefile_formatXYZ() 朋友函数,但是我需要为每种不同的格式添加一个朋友声明。
有解决这类问题的标准设计模式吗?你会如何解决这个问题?
谢谢!
【问题讨论】:
-
你的意思是什么格式?您是在考虑像 .txt .xls .doc 这样的通用格式还是每个类特定的私有格式?
标签: c++ oop design-patterns encapsulation file-format