有没有办法通过基类指针访问派生类成员的通用代码?或者有其他方法解决这个问题吗?
假设我有一个形状类Shape。我有Square和Triangle类继承它。两者都有自己的私有成员,与对方无关,因此在基类中没有必要拥有它们。现在,如果我需要将一个类写入文件,但在写入文件之前我不知道这个类是Square还是Triangle怎么办?
我一直在试图解决这个问题。最坏的情况是将Square和Triangle的数据都写入文件,并为读取和写入添加标识符(Triangle或Square),然后在加载数据时使用小型解析器组合类。这样会效率低下,浪费时间。
我想知道是否有一些技巧、设计模式或任何可以帮助解决这种情况的东西。
假设我有一个形状类Shape。我有Square和Triangle类继承它。两者都有自己的私有成员,与对方无关,因此在基类中没有必要拥有它们。现在,如果我需要将一个类写入文件,但在写入文件之前我不知道这个类是Square还是Triangle怎么办?
我一直在试图解决这个问题。最坏的情况是将Square和Triangle的数据都写入文件,并为读取和写入添加标识符(Triangle或Square),然后在加载数据时使用小型解析器组合类。这样会效率低下,浪费时间。
我想知道是否有一些技巧、设计模式或任何可以帮助解决这种情况的东西。
writeToFile()
方法定义为抽象(纯虚函数),并让派生类来实现它。 - amit