मैं निम्नलिखित श्रेणियां होती हैं:सी बच्चा कक्षा में आभासी विधि कॉल ++
class A {
protected:
A *inner;
public:
....
virtual void doSomething() = 0;
....
}
class B: public A {
...
void doSomething() {
if(inner != NULL)
inner->doSomething();
}
...
}
जब मैं inner->doSomething()
का उपयोग मैं एक विभाजन गलती मिलता है। बी कक्षा में inner->doSomething()
पर कॉल करने के लिए मुझे क्या करना चाहिए?
अग्रिम धन्यवाद।
यदि आपको आंतरिक उपयोग करते समय एक सेगफॉल्ट मिलता है, तो शायद यह इसलिए है क्योंकि यह किसी वैध ऑब्जेक्ट को इंगित नहीं करता है। आप बी में आंतरिक कैसे शुरू करते हैं? –
प्रत्येक ए में ए * है? वास्तव में? क्यूं कर? –
ठीक है, वे एक-दूसरे को देख रहे हैं। मैं बस जांचना चाहता था। –