Warum abstrakt?
-
Hi,
hab da eine Klassendefinition, bei der sich der Compiler denkt, sie sei abstrakt:
public class TStream : public IStream
{private:
STATSTG _pstatstg;
unsigned char* data;
unsigned char* c;
unsigned char* last;public:
TStream(unsigned char* databuf, int length);
~TStream();HRESULT STDMETHODCALLTYPE Read(void* pv, ULONG cb, ULONG* pcbRead);
HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition);
HRESULT STDMETHODCALLTYPE Stat(STATSTG* pstatstg, DWORD grfStatFlag);};
Meiner Meinung nach ist sie das aber nicht. Was sagt ihr dazu?
Ich kann die Klasse halt jetzt nicht instanzieren
Die Fehlermeldung lautet...
Fehler 1 error C2259: 'jpstream2::TStream': Instanz von abstrakter Klasse kann nicht erstellt werden
Danke im Voraus!
-
Du wirst wohl alle IStream-Methoden implementieren müssen, nicht nur Read, Seek und Stat.
-
Solange Du nicht ALLE Methoden des Interfaces implementiert hast, ist es abstrakt.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Naja, OOP in C++ kann ich noch nicht so gut. Da läuft's bei C# schon um einiges besser. DAke für die Hilfe!