【发布时间】:2016-08-05 17:45:03
【问题描述】:
我有一个名为 Strategy 的类的一堆不同子类,每个子类都有一个唯一的字符串标识符
class AdaptiveStrategy : Strategy {
public:
const static std::string uniqueKey;
AdaptiveStrategy();
private:
...
}
.cpp 文件中的每一个都有一个基于其名称的唯一标识符。我还有另一个 .cpp 文件来管理这些策略。这个 Selector 类有一个指向 Strategy 的指针,它可以在我的项目期间发生变化。
class Selector {
public:
Selector()
std::string getStrategyName() // help!
private:
Strategy *currentStrategy // can be any of the viable Strategy subclasses
}
基本上这个指针会被反复替换,以根据可能发生的一系列不同事情指向新的策略。
我希望在这个 Selector 类中有一些方法可以返回当前活动策略的唯一字符串标识符——最好的方法是什么?
【问题讨论】:
标签: c++ string inheritance subclass