संभव डुप्लिकेट:
Forward declaration of nested types/classes in C++क्या सी ++ में घोंसला वाले वर्गों की भविष्यवाणी करने का कोई तरीका है?
वर्गों के सरल पार संदर्भ के लिए यह classnames predeclare और संदर्भ के रूप में उपयोग करने के लिए संभव है। इस तरह प्रतिनिधित्व एक सूचक है। लेकिन अगर मैं दोनों की घोंसला वाली कक्षा को पार करना चाहता हूं (नीचे दिए गए उदाहरण को देखें), तो मैं परेशानी में भागूंगा, क्योंकि ऐसा लगता है कि घोंसला वाले वर्ग की भविष्यवाणी करने का कोई तरीका नहीं है।
तो मेरा सवाल है: क्या नेस्टेड कक्षाओं को पूर्ववत करने का कोई तरीका है ताकि मेरा उदाहरण काम कर सके?
यदि नहीं: क्या इसके लिए कोई आम कामकाज है, जो कोड को बहुत अधिक नहीं बदलेगा?
// Need to predeclare it to use it inside 'First'
class Second;
class Second::Nested; // Wrong
// Definition for my 'First' class
class First
{
public:
Second::Nested* sested; // I need to use the nested class of the 'Second' class.
// Therefore I need to predeclare the nested class.
class Nested { };
};
// Definition for my 'Second' class
class Second
{
public:
First::Nested* fested; // I need to use the nested class of the 'First' class.
// This is okay.
class Nested { };
};
ठीक है - अगर मैं "घोषणा" की तलाश करता तो मुझे यह जवाब मिल गया होता। (यह संभव नहीं है।) यह बात है। धन्यवाद। लेकिन इस पल के लिए मैं एक कामकाज के बारे में सोचता हूं। मेरे नेमस्पेस के किसी अन्य 'क्लास नेस्ड' के साथ अनजान संघर्ष। और इंटरफेस के उपयोगकर्ता obfuscate का नाम बदलना। –