2010-09-24 14 views
6

मेरे पास एक .NET_4 प्रबंधित सी ++ रेफ क्लास है जिसे मैं सी # में लिखे गए .NET_4 बेस क्लास से प्राप्त करता हूं।"सी # बेस क्लास वर्चुअल फ़ंक्शन" - "प्रबंधित सी ++ रेफ क्लास में ओवरराइड करें"

सी # आधार वर्ग:

namespace Core 
{ 
    public class ResourceManager 
    { 
    public class _Resource 
    { 
     public virtual void Delete() {} 
    } 
    } 
} 

प्रबंधित सी ++ वर्ग:

'इनपुट :: डि :: माउस:

namespace Input.DI 
{ 
    public ref class Mouse : ResourceManager::_Resource 
    { 
    public: 
    virtual void Delete() {} 
    }; 
} 

यहाँ त्रुटि मैं हो रही है: : हटाएं ': आधार रेफ क्लास विधि से मेल खाता है' कोर :: संसाधन प्रबंधक :: _ संसाधन :: हटाएं ', लेकिन' नया 'या' ओवरराइड 'चिह्नित नहीं है; 'नए' (और 'आभासी')

माना जाता है क्या सही कामयाब सी ++ वाक्य रचना एक सी # वर्ग से एक virtual समारोह ओवरराइड करने के लिए है?

उत्तर

6

आप overrideafter the function signature डालते हैं।

//MANAGED C++ CLASS 
namspace Input.DI 
{ 
    public ref class Mouse : ResourceManager::_Resource 
    { 
    public: 
    virtual void Delete() override {} 
    }; 
} 
+0

ध्यान दें कि आपके पास _namspace_ के साथ एक टाइपो (माना जाता है कि ओपी से कॉपी किया गया है) है। इसे 'नेमस्पेस' पढ़ना चाहिए। मैं एक संपादन का सुझाव नहीं देना चाहता (मैं 2k से कम हूं) क्योंकि आपके उत्तर में कुछ और नहीं है – Tas

संबंधित मुद्दे