我有一个类结构体来表示(内部)我想要输出到文件的数据。
其中一些成员变量是私有的,属于数据类自身,以便它可以管理自己并防止出现问题。
然后,我希望将这些数据输出为多种文件格式。我可以像下面这样做:
savefile_formatA(DataClass* pDataClass, ofstream& fout);
savefile_formatB(DataClass* pDataClass, ofstream& fout);
除了需要查看
DataClass
的私有成员变量之外,函数需要的功能与之前相同。我当然可以将 savefile_formatXYZ()
设置为友元函数,但这样我就需要为每种不同的格式添加一个友元声明。是否有一种标准的设计模式来解决这种问题?你会如何解决这个问题?
谢谢!