मैं इस तरह कुछ घटनाओं हैफोर्स बुला आधार वर्ग आभासी समारोह
class Granpa // this would not be changed, as its in a dll and not written by me
{
public:
virtual void onLoad(){}
}
class Father :public Granpa // my modification on Granpa
{
public:
virtual void onLoad()
{
// do important stuff
}
}
class Child :public Father// client will derive Father
{
virtual void onLoad()
{
// Father::onLoad(); // i'm trying do this without client explicitly writing the call
// clients code
}
}
वहाँ वास्तव में पिता :: ऑनलोड() लिखे बिना बुला ऑनलोड मजबूर करने के लिए एक तरीका है?
hackish समाधान स्वागत है :)
मुझे समझ में नहीं आता कि यह एक समस्या क्यों है। आप स्पष्ट रूप से कुछ करना चाहते हैं, इसलिए आपको कोड में स्पष्ट रूप से ऐसा कहना होगा ... –
क्या यह थोड़ा आलसी है कि आप कुछ ऐसा करने के लिए कोड की एक पंक्ति जोड़ना न करें जिसे आप स्पष्ट रूप से करना चाहते हैं? –
यानी एमएफसी हैंडलर में एक ही समस्या हल नहीं होती है (आपको हमेशा अपने सीएमडियलॉग :: OnInitDialog() से सीडीअलॉग :: OnInitDialog() को स्पष्ट रूप से कॉल करने की आवश्यकता है, मुझे लगता है कि आपको केवल उपयोगकर्ता को ऐसा करने की आवश्यकता हो सकती है। – Mikhail