से असर हैं, नीचे दिया गया कोड समस्या बताता है। वर्चुअल बेस क्लास ए के दो पॉइंटर्स वास्तव में एक ही ठोस कक्षा में पता लगाने के लिए same_sub_class भरें।सी ++ में जांचें कि बेस क्लास के दो उदाहरण एक ही उपclass
struct A {
...
}:
struct B : public A {
...
}:
struct C : public A {
...
}
bool same_sub_class(A * a1, A * a2){
// Fill this in to return true if a1 and a2 are
// of the same concrete class
}
संपादित करें:
जैसा कि मैंने अपने आवेदन को देखो मैं कुछ ऊपर से थोड़ा अलग की जरूरत है। मुझे उनके टाइप_आईडी द्वारा उदाहरणों को समूहित करने में सक्षम होना चाहिए।
एफवाईआई। मेरे पास एक मिनी प्रतीकात्मक अल्जीब्रा प्रणाली है ताकि मैनिप्लेशंस करने के लिए कभी-कभी वर्ग प्रकार को सॉर्ट करने और अभिव्यक्तियों को पुन: व्यवस्थित करने के लिए जानना महत्वपूर्ण है।
तो पॉइंटर्स के वेक्टर को उदाहरण के लिए उनके टाइप_आईडी द्वारा समूहित करने के लिए दिया गया है। मुझे या तो टाइप_आईडी हैश करने में सक्षम होना चाहिए या प्रत्येक वर्ग के लिए एक अद्वितीय पूर्णांक उत्पन्न करना होगा।
लगता है कि आपको वास्तव में क्या चाहिए, प्रत्येक वर्ग पर एक स्थिर int है? –