c++ - Trouble with objects and Pointers -
वेक्टर & lt; आकृति * & gt; आकार; शून्य बनावट () (छवि = QImage (चौड़ाई, ऊंचाई, 32); // 32 बिट रंग amb (0.1,0.1,0.1); रंग difcoef (0.75,0.6,0.22); रंगीन नमूना (0.50.5,0.5); डबल चमक = 3.0; क्षेत्र * s = नया क्षेत्र (प्वाइंट (0.0.0.0, -5), 100.0, एबीबी, डिफिकेफ, कल्पना, चमक); shapes.push_back (रों); } Int main () {// इनिशियलाइट ग्लुत इनिट (); createScene (); आकार * x = आकार [0]; Cout & lt; & lt; एक्स- & gt; चमक और एलटी; & lt; endl; } वर्ग आकार {सार्वजनिक: आकार () {} ~ आकार () {} रंग परिवेश; रंग अलग; रंग युक्ति; डबल चमक; वर्चुअल बूल चेक इंटरसेक्ट (प्वाइंट पी, प्वाइंट डी, पॉइंट एंड टेम्पप) = 0; // यदि प्रतिच्छेदन करता है, तो सत्य और झूठी सत्य वापस आएँ। आभासी बिंदु getNormal (बिंदु intPt) = 0; // प्रतिच्छेदन बिंदु पर सामान्य प्राप्त करें / आभासी शून्य प्रिंटस्टाफ () = 0; };
जब वह चमक से बाहर प्रिंट करता है, तो मुझे शून्य का मान मिलता है? ऐसा क्यों है?
मुझे लगता है कि घटनाएं (क्योंकि आप एक आकृति वस्तु का उपयोग कर रहे हैं और उसे बताए हुए हैं) । बहुरूपता को संरक्षित करने के लिए आप क्या करना चाहते हैं, एक सूचक या संदर्भ का उपयोग करें। इस मामले में मैं एक सूचक का उपयोग करेगा:
आकृति * x = आकार [0];
अगर आकार एक अजीब कंटेनर होता है जो डी-संदर्भ करता है (यह वह है जो मैं आपके कोड से समझता हूं) तो मैं संदर्भ का उपयोग करूँगा:
आकार & Amp; एक्स = आकार [0];
आप एक कॉन्फेंट संदर्भ का उपयोग कर सकते हैं, लेकिन यह आपके लिए अनिवार्य नहीं है क्योंकि आपकी ऑब्जेक्ट किसी भी तरह से अस्थायी रूप से नहीं है।
बीटीडब्ल्यू, किसी ने आपको नहीं बताया है ग्लोबल्स एक खराब अभ्यास हैं?
Comments
Post a Comment