में - सी + + प्राइमर, तीसरे संस्करण, स्टेनली बी लिप्मन, जोस ए एलोजिइ द्वारा
यह कहते हैं में:
15.1 ऑपरेटर ओवरलोडिंग जैसा कि हमने पिछले अध्यायों में उदाहरणों में देखा है, ऑपरेटर ओवरलोडिंग प्रोग्रामर को इसके संस्करणों को परिभाषित करने की अनुमति देता है कक्षा प्रकार के ऑपरेंड के लिए पूर्वनिर्धारित ऑपरेटरों (अध्याय 4 में चर्चा के अनुसार) उदाहरण के लिए, धारा 3.15 में प्रस्तुत स्ट्रिंग क्लास कई ओवरलोडेड ऑपरेटरों को परिभाषित करता है। यहाँ हमारे स्ट्रिंग वर्ग की परिभाषा है: कैसे लगता है, मुझे / Div> हां मेरे लिए एक टाइपो की तरह लग रहा है क्या आपने कोड को सीडी-रोम से या किसी चीज़ से कॉपी किया है?
#include & lt; iostream & gt; वर्ग स्ट्रिंग; IStream & amp; ऑपरेटर & gt; & gt; (इस्ट्रीम एंड, स्ट्रिंग & amp;); ostream & amp; ऑपरेटर & lt; & lt; (ओस्ट्रीम एंड कंस्ट्र स्ट्रिंग एंड amp;); वर्ग स्ट्रिंग {सार्वजनिक: / ओवरलोड किए गए कंसल्टर्स का सेट // स्वचालित प्रारंभिक स्ट्रिंग प्रदान करें (कॉन्स्ट चार् * = 0); स्ट्रिंग (कॉन्स्ट स्ट्रिंग & amp;); // destructor: स्वचालित deinitialization ** ------ & gt; नोट ** स्ट्रिंग (); // ** ------ & gt; नोट ** // असाइनमेंट ऑपरेटरों के अतिभारित सेट स्ट्रिंग & amp; ऑपरेटर = (कॉन्स्ट स्ट्रिंग & amp;); स्ट्रिंग में & amp; ऑपरेटर = (कॉन्स्ट चार *); // ओवरलोडेड सबस्क्रिप्ट ऑपरेटर चार & amp; ऑपरेटर [] (int) const; // समानता ऑपरेटरों का ओवरलोडेड सेट // str1 == str2; बूल ऑपरेटर == (कॉन्स्ट चार *) कॉन्स्ट; बूल ऑपरेटर == (कॉन्स्ट स्ट्रिंग & amp;) const; // सदस्य पहुंच कार्य पूर्णांक आकार () {वापसी _ आकार; } Char * c_str () {वापसी _स्ट्रिंग; } निजी: int _size; चार * _स्ट्रिंग; };
स्ट्रिंग () एक नाशक हो सकता है? टिल्ड के साथ prefixing के साथ प्रकट होने वाला कोई नाशक नहीं है, जैसा कि
~ स्ट्रिंग () ?
Comments
Post a Comment