मैं समझता हूं कि सी ++ (दो?) में structs और कक्षाओं के बीच बहुत कम अंतर हैं। जैसा भी हो सकता है, मुझे निर्देश दिया गया है कि साधारण छोटी चीजें जैसे नोड्स को परिभाषित करने के लिए structs का उपयोग करने के लिए निर्देश दिया गया हो, जिन्हें सदस्य कार्यों की आवश्यकता नहीं हो सकती है (इस तथ्य के बावजूद कि मैं तकनीकी रूप से सदस्य कार्यों को शामिल कर सकता हूं)। उदाहरण के लिए मैं इस प्रकार एक लिंक्ड सूची वर्ग के लिए एक निजी सदस्य के रूप में एक नोड से परिभाषित करें:क्या मैं कन्स्ट्रक्टर को परिभाषित किए बिना ढेर पर एक नई संरचना बना सकता हूं?
class LinkedList {
struct Node {
MyObject *data;
Node *next;
};
Node *list;
};
इस मामले में, तथापि, यह ढेर पर इस struct का एक नया उदाहरण बनाने के लिए संभव है, या मैं करूंगा एक कन्स्ट्रक्टर को परिभाषित करने की आवश्यकता है? नए ऑपरेटर के बिना ढेर पर चीजों को बनाने का कोई तरीका है? या, बेहतर अभी तक: क्या यह धारणा के लिए इतनी कसकर चिपकने के लिए अनावश्यक है कि मुझे structs के लिए सदस्य कार्यों को परिभाषित नहीं करना चाहिए? क्या मुझे आगे बढ़ना चाहिए और एक को परिभाषित करना चाहिए? या अगर मैंने ऐसा किया, तो क्या यह स्वीकार करना होगा कि नोड वास्तव में आंतरिक संरचना के बजाय आंतरिक वर्ग बनने के लिए कुछ भी है? क्या मुझे वास्तव में इस तरह की चीजों के बारे में चिंता करना चाहिए? कौन सा पठनीय है?
धन्यवाद!
आपको यह उल्लेख करना चाहिए कि यदि कोई है तो मॉलोक एक कन्स्ट्रक्टर नहीं चलाएगा। –
मुफ्त में एक विनाशक को कॉल न करें :) – Arunmu
और वह 'कॉलोक' भी 'मेमसेट (0) ' – ruslik