【发布时间】:2012-08-01 18:38:18
【问题描述】:
我有一个“银行”类和一个“分行”类。 “分支”继承自“银行”。我只想允许“银行”对象创建新的“分支”对象。 (例如,只有花旗集团可以开设新的花旗银行分行)。
实现这一目标的最佳设计模式是什么?
我目前正在使用带有私有构造函数的朋友类。但我不确定这是否是正确的做法。
【问题讨论】:
-
你确定你真的想要这样做吗,这会让为
Branch编写测试变得更加困难?也许您想要的只是让Branch构造函数将Bank作为参数? -
是的,测试会更难..但是任何代码都可以将任何分支分配给任何银行..这是我希望限制的。
-
设计中有一个概念问题,一个Branch不是一个Bank,它只是一个branch那个特定的银行
标签: c++ inheritance private-constructor