से कॉल व्युत्पन्न फ़ंक्शन मैं सी ++ के लिए बिल्कुल नया हूं, लेकिन मैं एक ऐसे मुद्दे में भाग गया हूं जिसे मैं हल नहीं कर सकता। मैं चीजों को आसान बनाने के लिए समस्या का वर्णन करने के लिए कारों का उपयोग करूंगा। ठीक है तो मान लें कि मेरे पास बेस क्लास कार है, और मेरे पास अलग-अलग ब्रांड हैं जो उस वर्ग से विरासत में हैं। इस प्रकार:सी ++ बेस क्लास इंस्टेंस
class Car
{
public:
Car();
};
class Ford: public Car
{
public:
Ford();
void drive();
void park();
};
संपूर्ण विचार यह है कि इन सभी अलग-अलग कारों को एक प्रकार के कार के एक वेक्टर में एक साथ रखना है। इस तरह:
vector<Car*> cars;
cars.push_back(new Ford());
cars.back()->drive(); //this won't work
मैं बेस क्लास उदाहरण पर व्युत्पन्न फ़ंक्शन को कैसे कॉल कर सकता हूं? ध्यान दें कि मैं इन सभी को एक वेक्टर में रखना चाहता हूं। इसका कारण यह है कि मैं केवल अंतिम व्युत्पन्न कार वर्ग उदाहरण का उपयोग करना चाहता हूं जिसे जोड़ा गया है। (इस मामले में व्युत्पन्न कार वर्ग फोर्ड है)। यह भी ध्यान रखें कि सभी कार वर्गों में एक ही कार्य होगा।
महान और तेजी से प्रतिक्रिया के लिए धन्यवाद एक बहुत, इस चाल किया था। – Dan