Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » polymorphie und abstrake klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.12.2014, 14:40 Uhr
~faberpaper
Gast


Hi Leute,

momentan sitze ich vor folgendem Problem:
*Ich habe eine abstrakte baseclass, die nur eine schnittstellenklasse ist und daher pure virtuelle Funktionen ohne Implementierung anbietet:
Ich habe hierzu auch nur eine header datei mit folgendem Code
class CCodec
{
public:
virtual void write(ostream &stream, const vector<CWaypoint> &waypoints, const vector<CPOI*> &pois) = 0;
virtual void read(vector<CWaypoint> &waypoints, vector <CPOI> &pois, istream &stream) =0;
virtual ~CCodec(){};
};

*jetzt habe ich eine abgeleitete klasse mit genau denselben methoden:
//header datei
class CIndentCodec:public CCodec
{
public:
void write(ostream &stream, const vector<CWaypoint> &waypoints, const vector<CPOI*> &pois);
void read(vector<CWaypoint> &waypoints, vector <CPOI*> &pois, istream &stream);
~CIndentCodec(){};
};

void CIndentCodec::write(ostream &stream, const vector<CWaypoint> &waypoints, const vector<CPOI*> &pois)
{
cout <<"test";
}
//cpp file
void CIndentCodec::read(vector<CWaypoint> &waypoints, vector<CPOI*> &pois,istream &stream)
{
cout << "test";
}

Die Methoden machen im Moment nur aus Probiergründen eine einfache Ausgabe.
In meinem Hauptprogramm (ist in dem Fall ein anderes cpp file) habe ich dann folgendes:
* CCodec *base = new CIndentCodec;
So steht es in der Literatur, funktioniert aber nicht.
Ferner geht auch der Befehl CIndentCodec coder; nicht. Bei beiden erhalte ich folgende Fehlermeldung:
..\myCode\CNavigationSystem.cpp:34:21: error: cannot allocate an object of abstract type 'CIndentCodec'

Ich bin da jetzt echt ein wenig ratlos, weil so etwas "einfaches" nicht geht und komme nicht weiter. Könnte mir bitte jemand helfen?

Danke und viele Grüße
faberpaper
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.12.2014, 14:42 Uhr
~faberpaper
Gast


*edit: ups das cpp file von CIndentCode ist verrutsch, alle methoden der klasse sind natürlich in dem cpp file geschrieben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: