class Material
{
public:
void foo()
{
cout << "Class Material";
}
};
class Unusual_Material : public Material
{
public:
void foo()
{
cout << "Class Unusual_Material";
}
};
int main()
{
Material strange = Unusual_Material();
strange.foo(); //outputs "Class Material"
return 0;
}
से कॉल व्युत्पन्न क्लास विधि कॉल करें, मैं इसके परिणामस्वरूप "कक्षा Unusual_Material" को कंसोल पर प्रदर्शित किया जा रहा हूं। क्या मैं इसे हासिल कर सकता हूं? मेरे कार्यक्रम में मेरे पास एक वर्ग सामग्री है जिसमें से अन्य विशिष्ट सामग्री व्युत्पन्न होती है। विधि सामग्री :: foo() सामग्री में एक विधि का प्रतिनिधित्व करता है जो अधिकांश सामग्रियों के लिए पर्याप्त है, लेकिन मौलिक रूप से, किसी अन्य foo() को असामान्य गुणों वाली सामग्री के लिए परिभाषित करने की आवश्यकता होती है।बेस क्लास संदर्भ
मेरे कार्यक्रम में सभी वस्तुओं में एक सामग्री क्षेत्र होता है। अगर उन्हें असामान्य सामग्री सौंपी जाती है, तो मुझे व्युत्पन्न, असामान्य फू को बुलाया जाना चाहिए।
यह शायद या तो बहुत आसान, या असंभव है, लेकिन मैं इसे किसी भी तरह से समझ नहीं सकता।
धन्यवाद
एक नोट के रूप में, 'की तरह सामग्री अजीब = Unusual_Material() कोड;' वस्तु टुकड़ा करने की क्रिया समस्या हो सकती है: http://stackoverflow.com/questions/274626/क्या-द-द-स्लाइसिंग-समस्या-इन-सी – birryree