वर्चुअल घोषित किए जाने वाले क्लास सदस्य फ़ंक्शन के लिए फ़ंक्शन पॉइंटर मान्य होगा?क्या वर्चुअल फ़ंक्शन के लिए पॉइंटर अभी भी लगभग बुलाया जाता है?
class A {
public:
virtual void function(int param){ ... };
}
class B : public A {
virtual void function(int param){ ... };
}
//impl :
B b;
A* a = (A*)&b;
typedef void (A::*FP)(int param);
FP funcPtr = &A::function;
(a->*(funcPtr))(1234);
B::function
कहा जाएगा?
आपके पास कोड है। यह उन प्रश्नों में से एक है जिन्हें आप कोड चलाकर अपने आप उत्तर दे सकते थे। –
क्योंकि आईडीई को फायर करने, परियोजना, कोड, संकलन, डीबग इत्यादि बनाने के लिए यहां से पूछना तेज़ है ... और यह अन्य को लाभ देगा, और यह प्रश्न/कोड खो जाएगा नहीं। – uray
@ मार्टिन: क्या होगा यदि व्यवहार अपरिभाषित था? –