टेम्पलेट तो, मैं एक दिलचस्प विधि हस्ताक्षर है कि मैं काफी समझ में नहीं आता है, यह की तर्ज पर चला गया में आए समझें कि "वर्ग" कीवर्ड पैरामीटर के रूप में उपयोग किया जा रहा है, यह वहां क्यों है? क्या यह निर्दिष्ट करना आवश्यक है या यह पूरी तरह से सतही है?सी ++, एक पद्धति के लिए पैरामीटर के रूप में वर्ग, नहीं
उत्तर
यह कक्षा की एक अगली घोषणा है। यह प्रभावी रूप से
class SomeClassName;
void Initialize(std::vector<std::string> & param1, SomeClassName * p);
ऐसी कई स्थितियां हैं जिनमें आगे की घोषणा उपयोगी है; this answer to another question में आगे की घोषणा के साथ आप कर सकते हैं और चीजों की एक पूरी सूची नहीं है)।
क्या यह आगे की घोषणा के रूप में कार्य करता है? – ra170
@ ra170: हाँ, यह करता है। –
"लेकिन आपको क्लास के उदाहरण के लिए पॉइंटर या संदर्भ का उपयोग करने की आवश्यकता है" -> यदि आपके पास इस मामले में एक गैर-परिभाषा फ़ंक्शन घोषणा है, तो आप मान-पैरामीटर के साथ ठीक हो सकते हैं। –
यह सतही नहीं है। यह आपको "SomeClassName" को पैरामीटर के रूप में निर्दिष्ट करने की अनुमति देता है भले ही "SomeClassName" अभी तक परिभाषित नहीं किया गया है।
क्या यह आगे की घोषणा के रूप में कार्य करता है? – ra170
सबसे सतही।
struct x {
int member;
char member2;
};
कि का उपयोग करने के लिए आपको struct x whatever
उपयोग करने के लिए: सी में, जब आप एक struct परिभाषित करते हैं। आप (struct
यह पूर्ववर्ती के बिना) अपने आप में एक नाम के रूप में x
उपयोग करना चाहते हैं आप का उपयोग करने के लिए है एक typedef
:
typedef struct x {
int member;
char member2;
} x;
सी ++ में, हालांकि, पहले (typedef
के बिना) के रूप में लगभग एक ही प्रभाव पड़ता है दूसरा (दोनों x
को परिभाषित करें ताकि आप इसे पहले से ही struct
के बिना उपयोग कर सकें)। सी ++ में, class
अनिवार्य रूप से struct
जैसा ही है, सिवाय इसके कि यह public
(सदस्यों और विरासत दोनों के लिए) के बजाय private
पर डिफ़ॉल्ट है।
फ़ंक्शन घोषणा के बिंदु पर class
की कोई परिभाषा नहीं है, तो एकमात्र जगह एक अंतर है।
- 1. क्यों "किसी ऑब्जेक्ट को किसी विधि के पैरामीटर के रूप में उपयोग नहीं कर सकता"? (आईडी) Method1 को इस: (UITextField) इस, मैं त्रुटि मिलती है "एक पद्धति के लिए एक पैरामीटर के रूप किसी चीज़ का इस्तेमाल नहीं कर सकते"
- 2. एक वर्ग को पैरामीटर के रूप में पास करें?
- 3. सी # एसक्यूएल पैरामीटर के रूप में शीर्ष
- 4. सी ++ वर्ग प्रकार तर्क के रूप में
- 5. सी # फ़ंक्शन पैरामीटर के रूप में enums?
- 6. सी ++ पास फ़ंक्शन के पैरामीटर के रूप में पास सूची
- 7. डेल्फी XE में एक प्रक्रिया का एक पैरामीटर के रूप में एक वर्ग पासिंग
- 8. सी # स्थिरता चर का उपयोग पैरामीटर के रूप में पैरामीटर के रूप में
- 9. टेम्पलेट पैरामीटर वर्ग निकालने के लिए सी ++ टाइप गुण
- 10. आधार वर्ग के टेम्पलेट पैरामीटर के रूप में बाल वर्ग का उपयोग करना और घोंसला वाले नाम के रूप में
- 11. सी ++ का उपयोग करते हुए 'इस' एक पैरामीटर के रूप
- 12. सी ++ * बनाम [] एक समारोह पैरामीटर के रूप में
- 13. पायथन: एक वर्ग के नाम को किसी फ़ंक्शन के पैरामीटर के रूप में पास करना?
- 14. सी # वैकल्पिक पैरामीटर कक्षा पैरामीटर के लिए शून्य के अलावा?
- 15. एक पद्धति के लिए एक खाली IEnumerable तर्क पासिंग
- 16. छोटी टीमों के लिए परियोजना पद्धति
- 17. सी # के लिए पायथन-शैली वर्ग विधि?
- 18. स्प्रिंग एमवीसी - विधि पैरामीटर के रूप में अनुरोध पैरामीटर को मैप पैरामीटर के रूप में मैप नहीं कर सकता?
- 19. jQuery: पैरामीटर के रूप में $
- 20. सी # में एक सामान्य सूची के लिए एक FindAll के लिए एक पैरामीटर जोड़ना
- 21. सी # पैरामीटर के रूप में इंटरफेस के साथ किसी ऑब्जेक्ट का समर्थन क्यों नहीं करता है?
- 22. एक टेम्पलेट पैरामीटर के रूप में एक गणना का उपयोग
- 23. कैसे एक निर्माता पैरामीटर के रूप में निर्भरता नाम सुई
- 24. करता जावा एक है परीक्षा पद्धति "वर्ग की तरह है"
- 25. डी में (एक पैरामीटर के लिए) "गुंजाइश"
- 26. सिंटेक्स चीनी: _ * Seq पद्धति के रूप में इलाज के लिए मानकों
- 27. एक विधि सी # में एक वर्ग के एक सदस्य चर
- 28. वर्ग कार्यान्वयन फ़ाइल (सीपीपी) एक C++ एक स्थिर पद्धति पर उपयोग नहीं कर सकते "स्थिर" कीवर्ड
- 29. सी # संकलक पहचान करने के लिए एक वर्ग एक अंतरफलक
- 30. सी ++ एक पैरामीटर
के लिए सूचक है घोषणा और मैं यह जानकर पागल हो रहा था कि इसका क्या अर्थ है। 'कक्षा फू { निजी: कक्षा बार * पॉइंटर टॉबर; } ' – Vicro