是否有一種方法可以使用'this'關鍵字或類似的方法創建當前對象類型的指針,以便不明確提及類類型?創建一個類型爲'this'/當前對象的指針
我有一個基類GraphicObjects,它可以充當其他GraphicObjects和派生自GraphicObjects的對象的容器。我認爲這可能比明確指定類中的類型要好,所以我可以在別處使用它/更改類名。
class GraphiObjects {
typeid(*this) *a; // Fails.
GraphicObjects *b; // This works.
GraphicObjects *children_[];
};
如果有可能,有什麼理由不使用它?
你想實現什麼? 'typeid'返回一個'std :: type_info' *對象*。你有沒有把它與C++ 11的['decltype'](http://en.cppreference.com/w/cpp/language/decltype)混淆?類似於'typename std :: remove_reference :: type a;'在* methods *中完全有效,但是...好吧... –
dhke
模板可能能夠拯救你,但爲什麼它不僅可以編寫'Alpha *'?如果這只是一個問題或偏好,那麼我會說「這是語言的一部分,不要繞過它」。 – MicroVirus
@Michael我有一個基類GraphicObjects,它可以充當其他GraphicObjects和派生自GraphicObjects的對象的容器。我認爲這可能比明確指定類中的類型要好,所以我可以在別處使用它/更改類名。 –