एक अजीब समस्या के लिए "रचनात्मक" (यानी विचित्र) समाधानों पर विचार करते समय, एक विशेष विचार ने मेरी जिज्ञासा को जन्म दिया। यह एक ऐसा विचार नहीं है जिसका उपयोग करने की संभावना है, लेकिन मैं अभी भी जानना चाहूंगा कि यह मानक के अनुसार कानूनी है या नहीं।क्या सदस्य वर्ग अपने माता-पिता से प्राप्त कर सकता है?
एक साधारण उदाहरण होगा ...
class base_t
{
private:
// stuff
public:
// more stuff
class derived_t : public base_t // <--- weirdness here
{
// ...
};
};
weirdness के भाग - base_t
जो derived_t
शामिल से derived_t
inherits के बाद से, ऐसा लगता है derived_t
की तरह ही होता है।
तो क्या यह curiously recurring template pattern पर समान प्रकार की वैध-लेकिन-अजीब और डरावनी चीज़ है, या यह अवैध है?
EDIT - मुझे शायद यह उल्लेख करना चाहिए कि जिस कारण से मैंने सोचा था कि कुछ नामस्थान प्रदूषण से बचने की कोशिश कर रहा था। एक सदस्य के रूप में एक वर्ग होने से एक और वैश्विक वर्ग शुरू करने से बचा जाता है, लेकिन उस दूसरे वर्ग को पहले से बहुत कुछ साझा करने की आवश्यकता होती है।
यदि यह कक्षाओं की केवल एक जोड़ी थी तो यह कोई मुद्दा नहीं होगा, लेकिन यह कोड जनरेटर के लिए है।
बस इसके बारे में सोचें। एक बॉक्स के बारे में सोचें जिसमें स्वयं शामिल है ... –
ओओपी परिप्रेक्ष्य से यह कम से कम बेकार है ... –
@ ब्रूनो: जरूरी नहीं। –