कल्पना कीजिए कि मेरे पास एक सी ++ कक्षा फू और एक क्लास बार है जिसे एक निर्माता के साथ बनाया जाना है जिसमें एक फू पॉइंटर पारित किया गया है, और यह सूचक बार उदाहरण जीवन चक्र में अपरिवर्तनीय रहने के लिए है। ऐसा करने का सही तरीका क्या है?कन्स्ट्रक्टर में एक कॉन्स फील्ड कैसे शुरू करें?
वास्तव में, मैंने सोचा कि मैं नीचे दिए गए कोड प्रकार लिख सकते हैं, लेकिन यह संकलन नहीं है ..
class Foo;
class Bar {
public:
Foo * const foo;
Bar(Foo* foo) {
this->foo = foo;
}
};
class Foo {
public:
int a;
};
कोई भी सुझाव का स्वागत है।
+1, हालांकि मैं हाल ही में यहाँ सीखा है कि चर:
एक तरफ ध्यान दें, यदि आप कभी नहीं बदलेगा क्या foo बिंदुओं पर, उस में एक संदर्भ के रूप में पारित अब अंडरस्कोर से शुरू * आधिकारिक रूप से * आरक्षित ;-) –
केवल तभी जब वे एक अपरकेस अक्षर के बाद होते हैं। – GManNickG
या नामस्थान क्षेत्र में हैं! या उसके बाद एक और अंडरस्कोर किया जाता है। तो हाँ, यह इस मामले में तकनीकी रूप से कानूनी है, लेकिन मैं कहूंगा कि यह सिर्फ इतना नाटक करना आसान है कि वे आरक्षित हैं, और उनका उपयोग नहीं करते हैं। :) – jalf