0
我正在創建一個配置庫,並希望爲用戶添加一個能夠使類對象可配置的功能。 我希望用戶能夠運行configInstance.addOption<MyClass>()
並運行MyClass::toConfig()
。模板調用靜態方法
我該如何實施?
我正在創建一個配置庫,並希望爲用戶添加一個能夠使類對象可配置的功能。 我希望用戶能夠運行configInstance.addOption<MyClass>()
並運行MyClass::toConfig()
。模板調用靜態方法
我該如何實施?
您可以使用類似:
class Config
{
public:
// ...
template <typename T>
void addOption()
{
T::toConfig();
}
};
然後
Config configInstance;
configInstance.addOption<MyClass>();
那容易?謝謝。 –
你意味着一些參數傳遞到addOption方法? –
是的。像一個默認值,一個std :: string keyName和一個std :: string註釋 –
因此,就使用模板方法而言,您打算將它用於多個類。因此,每個T類都必須包含「keyName」和「comment」屬性。我對嗎?否則,如果MyClass是唯一應該配置的,我沒有看到使用模板的任何要點。 –