Rasgele nesneleri std :: string ile saklayabilen bir yapılandırma yöneticisi sınıfı oluşturmaya çalışıyorum.Özet bir temel sınıfta şablon işlevine sahip olmanın herhangi bir yolu var mı?
benim arayüzüne (soyut temel sınıf) Benim başlangıç fikri bu
class ConfigurationManager
{
public:
static boost::shared_ptr<ConfigurationManager> create();
template<typename T>
virtual T getOption(const std::string& name) = 0;
};
(tabii bu korkunç eksiktir) Ama sonra benim derleyici şablon sanal olamayacağını işaret (ve sonra fark ettim oldu ki ben zaten ihraç edilmiş şablonlar olamaz).
Dahili olarak boost :: any's (hemen hemen bir çalışma zamanı kontrol edilmiş void *) kullanıyor olacağım, ancak boost'umu herhangi bir şekilde göstermek istemiyorum.
Bu konuda gitmenin en iyi yolu ne olurdu?
Tam olarak ne için gitmek için? –
@Oli Sorgumda gönderdiğim sözdizimsel imkansız arabirimi simüle etmek için. – Lalaland
Yani gerçekten mümkün olmasalar bile, polimorf fonksiyon şablonları yapmak istersiniz? –