C++ Vererbung| Kompiler Fehlermeldung

Programmiere schon ne Weile in C , und hab vor kurzem angefangen mich mit OOP zu beschäftigen.
Kurzum habe vor C++ zu lernen und hab nen kleines Problem hier mal die sources ^^

kfz.h:
Code:
/*
 * kfz.h
 *
 *  Created on: 03.10.2009
 *      Author: erteet
 */

#ifndef KFZ_H_
#define KFZ_H_

#include <iostream>
#include <string>
using namespace std;

class Kfz
{
	private:
		long nr;
		string hersteller;

	public:
		Kfz(long n = 0L, const string& hr = "");

		long getNr(void) const { return nr;}
		void setNr(long n){ nr = n;}

		void setHerst(const string& hr){ hersteller = hr; }
		const string& getHerst(void) const { return hersteller;}

		void display(void);
};

class Pkw : public Kfz 
{
	private:
		bool schiebe;
		string pkwTyp;

	public:
		Pkw(const string& tp, bool sd, long n = 0L, const string& hr="");

		void setSchiebe(bool b){ schiebe = b;}
		bool getSchiebe(void) const { return schiebe;}

		void setTyp(const string& tp){ pkwTyp = tp;}
		const string& getTyp(void) const { return pkwTyp;}

		void display(void) const;

};

#endif /* KFZ_H_ */
kfz.cpp
Code:
/*
 * kfz.cpp
 *
 *  Created on: 03.10.2009
 *      Author: erteet
 */

#include "kfz.h"

Pkw::Pkw(const string& tp, bool sd, long n, const string& hr)
	: Kfz(n, hr), pkwTyp(tp), schiebe(sd){}

Kfz::Kfz(long n = 0L, const string& hr = "")
{
	nr = n;
	hersteller = hr;
}

void Kfz::display(void) const 
{
	cout << "Hersteller: " << hersteller << endl
		 << "Nr: " << nr << endl;
}

void Pkw::display(void) const 
{
	Kfz::display();

	cout << "PkwTyp: " << pkwTyp << endl;
	cout << "Schiebedach: ";
	if(schiebe)
		cout << "ja\n";
	else
		cout << "nein\n";
}

Der Code sollte meiner Meinung nach vollkommen in Ordnung sein, ist auch großteils ausm Buch aber eclipse / gcc gibt mir folgende Fehlermeldungen aus

expected `{' before ?.? token
expected unqualified-id before ?.? token

in Zeile 31 das entspräche
class Pkw : public Kfz

Fehlermeldung sieht mitlerweile so aus

erteet@Logic:~/coding/workspace/Kfz-Verwaltung$ g++ -o kfz kfz.cpp kfz_t.cpp
In file included from kfz.cpp:8:
kfz.h:42: Fehler: zusätzliche Qualifizierung ?Pkw::? an Element ?Pkw?
kfz.cpp:14: Fehler: redefinition of ?Pkw::Pkw(const std::string&, bool, long int, const std::string&)?
kfz.h:42: Fehler: ?Pkw::Pkw(const std::string&, bool, long int, const std::string&)? wurde vorher hier definiert
In file included from kfz_t.cpp:8:
kfz.h:42: Fehler: zusätzliche Qualifizierung ?Pkw::? an Element ?Pkw?
kfz_t.cpp: In function ?int main()?:
kfz_t.cpp:18: Fehler: keine passende Funktion für Aufruf von ?Pkw::Pkw(const char [8], bool)?
kfz.h:42: Anmerkung: Kandidaten sind: Pkw::Pkw(const std::string&, bool, long int, const std::string&)
kfz.h:36: Anmerkung: Pkw::Pkw(const Pkw&)
 
ICH kann dir leider nich helfen versuche selber gerade C++ zu lernen, aber ich füge meine Fehlermeldung einfach mal mit hinzu vllt hilft sie dem ein oder anderen.

1>------ Erstellen gestartet: Projekt: Kfz-HaBo, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Kfz.cpp
1>c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz.cpp(17) : error C2572: 'Kfz::Kfz': Neudefinition des Standardparameters: Parameter 2
1> c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz-header.h(22): Siehe Deklaration von 'Kfz::Kfz'
1>c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz.cpp(17) : error C2572: 'Kfz::Kfz': Neudefinition des Standardparameters: Parameter 1
1> c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz-header.h(22): Siehe Deklaration von 'Kfz::Kfz'
1>c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz.cpp(23) : error C2511: 'void Kfz::display(void) const': Überladene Memberfunktion nicht in 'Kfz' gefunden
1> c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz-header.h(16): Siehe Deklaration von 'Kfz'
1>c:\users\black doom\desktop\c++\kfz-habo\kfz-habo\kfz.cpp(30) : error C2662: 'Kfz::display': this-Zeiger kann nicht von 'const Pkw' in 'Kfz &' konvertiert werden
1> Durch die Konvertierung gehen Qualifizierer verloren
1>Das Buildprotokoll wurde unter "file://c:\Users\Black Doom\Desktop\C++\Kfz-HaBo\Kfz-HaBo\Debug\BuildLog.htm" gespeichert.
1>Kfz-HaBo - 4 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Aber wenn ich das richtig lese stimmt irgendwas mit der definition kfz in deinem header nicht.
Ps. ich hab die Header datei umbenannt aber das seht ihr ja;)
 
Problem gelöst, worans jetzt lag kann ich auch nicht sagen xD.
Wenn jemand die Sources will einfach fragen
 
Zurück
Oben