में उप-वर्ग की कक्षा को जानें, मैंने कम से कम 7 वर्षों में सी ++ नहीं किया है और अचानक सी ++ प्रोजेक्ट में घुटने टेक रहा हूं। मुझे निम्नलिखित के साथ कुछ मार्गदर्शन चाहिए:सी ++
मेरे पास पशु नामक एक वर्ग है, और मेरे पास 3 कक्षाएं हैं जो पशु: बिल्ली, कुत्ते और पक्षी से प्राप्त होती हैं। मैंने एक सूची वस्तु बनाई है और पशु प्रकार को स्टोर करने के लिए इसका उपयोग कर रहा हूं।
इस सूची में बिल्लियों के कुत्ते और पक्षी शामिल हो सकते हैं, जब मैं जानवरों की इस सूची के माध्यम से पुनरावृत्ति कर रहा हूं, तो मैं प्रत्येक जानवर के तत्काल प्रकार (चाहे वह बिल्ली, कुत्ता या पक्षी हो) जानना चाहें।
जब मैं कहता हूं typeid(animal).name();
यह मुझे पशु देता है, जो सच है, लेकिन मैं जानना चाहता हूं कि किस तरह का पशु।
कोई विचार ?? क्या मुझे enums का उपयोग करना चाहिए ??
यदि संभव हो तो ऐसा करने की कोशिश न करें। अपना 'पशु' अमूर्त इंटरफ़ेस बनाएं ताकि ठोस प्रकार कोई फर्क नहीं पड़ता। –
यदि आपकी सूची std :: list आपको पॉलिमॉर्फिज्म नहीं मिलेगी, तो आपको स्मार्ट पॉइंटर्स –
doctorlove
@MarkB का उपयोग करने की आवश्यकता है, इसे उत्तर में लिखें ताकि मैं इसे –