मैं std::map
या वेक्टर के भीतर अपनी कक्षाएं पंजीकृत करने में सक्षम होना चाहता हूं, डुप्लीकेट्स के बारे में नहीं सोचें और ऐसे में, लेकिन मैं इसे पंजीकृत नहीं करना चाहता कक्षा कन्स्ट्रक्टर कॉल या कक्षा के किसी भी समारोह के भीतर, किसी भी तरह से कक्षा के बाहर ऐसा करते हैं, भले ही मैं इसे कभी भी चालू नहीं करता, मैं यह जान सकूंगा कि यह अस्तित्व में है।किसी भी तरह से मेरी कक्षाओं को एक सूची में पंजीकृत करें
उदाहरण:
// Somehow, from outside the myclass, in a scope that will be called
//in the begining of the proccess, add "MyClass1" to a
//list so it can be instanciated later
class MyClass1{
}
तो मैं इसके बारे में एक #define
या सक्षम हैं, एक टेम्पलेट बनाना होगा।
मुझे नहीं पता कि मैंने खुद को स्पष्ट कर दिया है (0) मेरा मुद्दा यह है कि मुझे हर वर्ग को जानने की ज़रूरत है जो मुझे हर किसी को कॉल करने के बिना है।
मेरा विचार यह आसान वर्ग के शीर्षक की घोषणा और कुछ है कि एक सूची
है कि विशिष्ट वर्ग रजिस्टर होगा इस किया जा सकता है कॉल करने के लिए बनाने के लिए एक #define
का निर्माण करना था या मैं इसे मैन्युअल मैप करने के लिए करना होगा?
// desirable:
#define CLASSREGISTER(myclass) makethemagic(##myclass); class myclass {
};
मुझे पता है, उस के साथ परिभाषित मैं उपयोग नहीं कर सका विरासत आदि ... मेरी बात मैं क्या किसी भी तरह बनाने के लिए सोच रहा था का एक उदाहरण देने की कोशिश करने के लिए था ...
मुझे लगता है कि आपको 'डिज़ाइन-पैटर्न' टैग जोड़ना चाहिए। – Alexandru