2009-06-05 9 views
11

Possiamo definire interfacce in C++ utilizzando Visual Studio?Come definire le interfacce in C++/CLI gestito

Se sì, quale sarebbe un esempio di definizione di interfacce in C++?

+0

Si prega di definire cosa intendi più precisamente –

+0

Vuoi creare interfacce che possono essere implementate nel codice gestito? o interfacce che saranno utilizzate esclusivamente da C++? –

risposta

0

C++ non ha un concetto di "interfaccia" di per sé. Di solito vengono emulati con classi astratte con funzioni virtuali pure. Inoltre, gli class sono di solito sostituiti con struct s, poiché il modificatore di accesso predefinito per questi è public. Quindi,

struct IFoo 
{ 
    virtual void Bar() = 0; 
} 

Inoltre, vedi this.

+3

E la perdita di memoria che stai causando alla distruzione dell'oggetto! Le classi base DEVONO avere un distruttore virtuale pubblico o un distruttore non virtuale protetto. – TimW

+1

@Anton Gogolev se hai memebers virtuali dovresti avere un distruttore virtuale – vidstige

16

Nel C++ gestito, questa è la sintassi per un'interfaccia gestita.

using namespace System; 

interface class IFoo 
{ 
    String^ GetName(); 
}; 
+1

Vale la pena notare che la sintassi per una proprietà è: 'proprietà String^Nome;' – Josh

Problemi correlati