यहां तक कि अगर वह एक छात्र,,
जवाब देने के लिए है, क्योंकि यह एक परिसर में एक कम से कम सी में सी ++ :)
वर्गों का एक नया आगंतुक के लिए है कि आसान नहीं है दो डिजाइन मानदंड के एक चौराहे की सेवा ++ कोशिश कर रहा लायक है
1) एडीटी :: जिसका अर्थ है मूल रूप से एक नया प्रकार, पूर्णांक 'int' या वास्तविक संख्या 'डबल' या यहां तक कि 'डेट' जैसी नई अवधारणा। इस मामले साधारण क्लास इस तरह दिखना चाहिए में ,
class NewDataType
{
public:
// public area. visible to the 'user' of the new data type.
.
.
.
private:
// no one can see anything in this area except you.
.
.
.
};
यह है एक एडीटी का सबसे बुनियादी कंकाल ... निश्चित रूप से यह सार्वजनिक क्षेत्र की अनदेखी करके सरल हो सकता है! और एक्सेस संशोधक मिटाएं (सार्वजनिक, निजी) और पूरी चीज निजी होगी। लेकिन यह सिर्फ बकवास है। क्योंकि न्यूडाटा टाइप बेकार हो जाता है! एक 'int' की कल्पना करें जिसे आप अभी घोषित कर सकते हैं लेकिन आप इसके साथ कुछ भी नहीं कर सकते हैं।
फिर, आपको कुछ उपयोगी टूल की आवश्यकता है जो मूल रूप से न्यूडाटा टाइप के अस्तित्व के लिए आवश्यक नहीं हैं, लेकिन आप उनका उपयोग भाषा में किसी भी 'आदिम' प्रकार की तरह दिखने के लिए करते हैं।
पहला वाला कन्स्ट्रक्टर है। भाषा में कई स्थानों पर निर्माता की आवश्यकता है। int को देखो और इसके व्यवहार की नकल करने का प्रयास करें।
int x; // default constructor.
int y = 5; // copy constructor from a 'literal' or a 'constant value' in simple wrods.
int z = y; // copy constructor. from anther variable, with or without the sametype.
int n(z); // ALMOST EXACTLY THE SAME AS THE ABOVE ONE, it isredundant for 'primitive' types, but really needed for the NewDataType.
उपरोक्त पंक्तियों की प्रत्येक पंक्ति एक घोषणा है, चर का निर्माण वहां होता है।
और अंत में कल्पना एक समारोह में ऊपर पूर्णांक चर, कि समारोह कहा जाता है 'फन',
int fun()
{
int y = 5;
int z = y;
int m(z);
return (m + z + y)
// the magical line.
}
आप जादुई लाइन देखते हैं, यहाँ आप संकलक किसी भी बात आप चाहते हैं बता सकते हैं! आपके द्वारा हर चीज करने के बाद और आपके न्यूडाटा टाइप फ़ंक्शन में स्थानीय दायरे के लिए और अधिक उपयोगी नहीं है, तो आप इसे मार देंगे। एक शास्त्रीय उदाहरण 'नया' द्वारा आरक्षित स्मृति जारी करेगा!
इसलिए हमारे बहुत ही सरल NewDataType हो जाता है,
class NewDataType
{
public:
// public area. visible to the 'user' of the new data type.
NewDataType()
{
myValue = new int;
*myValue = 0;
}
NewDataType(int newValue)
{
myValue = new int;
*myValue = newValue;
}
NewDataType(const NewDataType& newValue){
myValue = new int;
*myValue = newValue.(*myValue);
}
private:
// no one can see anything in this area except you.
int* myValue;
};
अब इस आप सार्वजनिक कार्यों प्रदान करने के लिए एक उपयोगी वर्ग का निर्माण शुरू करने के लिए बहुत बुनियादी कंकाल है।
वहाँ,
छोटे उपकरणों की एक बहुत सी ++ में एक वर्ग के निर्माण में विचार करने के लिए कर रहे हैं। । । ।
2) ऑब्जेक्ट :: जिसका मूल रूप से एक नया प्रकार है, लेकिन अंतर यह है कि यह भाइयों, बहनों, पूर्वजों और वंशजों से संबंधित है। सी ++ में 'डबल' और 'int' को देखें, 'int' 'डबल' का सूर्य है क्योंकि प्रत्येक 'int' कम से कम अवधारणा में 'डबल' है :)
यह _has_ होमवर्क होने के लिए! – xian
मुझे शायद ही विश्वास हो कि आप उस विषय पर गुगलिंग के माध्यम से कोई उदाहरण नहीं ढूंढ पाए। नीचे दिए गए अधिकांश उदाहरण, बस वेब पर ट्यूटोरियल्स से चिपकाए गए प्रतिलिपि। –
आपने गंभीरता से बहुत कठिन नहीं देखा होगा। –