c++ buch voller fehler??
-
ich habe das buch "C++ Programmierung" von "GoTo" der autor heißt "André Willms", schon etwas länger gekauft doch jetzt wo ich im kapitel klassen bin, stelle ich fest das der quellcode voller fehler ist, ich tippe den quellcode so ab wie er im buch steht, dieser geht nicht, dann nehme ich den quellcode von der cd.... da geht das Programm, aber da stellte ich fest das auf der cd und im buch ganz verschiedene quellcode sind....
hat einer das selbe Problem mit dem buch???
oder was ist mit dem buch los??bye Benny
-
Was steht jetzt genau im Buch was falsch ist? Kann sein, dass es älter ist als der C++ Standard.
-
Könntest du mal 2 unterschiedliche Quellcoedes Posten die nicht alzu groß sind?
-
Kann es vielleicht auch sein, dass du nur teile von Quellcodes abgeschrieben hast?
Oft werden in Buechern ja keine komplett lauffaehigen Programme gedruckt.
mfg
v R
-
Hallo,
ich tippen auf den "iostream.h" Fehler.
-
Das void hat bei mir auch immer Fehler verursacht
-
Naja, "void main()" gabs eben nie, aber iostream.h schon. Ich hatte das "goto c++" auch mal und meine mich entsinnen zu können, dass es letzteres Problem war.
-
Irgendwer schrieb:
Was steht jetzt genau im Buch was falsch ist? Kann sein, dass es älter ist als der C++ Standard.
das buch ist nicht älter wie der c++ Standard, aber hin und wieder taucht ein
#include <iostream.h>
auf.....
hier der fehler von der classe in diesem buch:
#include <iostream> using namespace std; class Kartoffel { private: int knollendicke; int knollenanzahl; int groesse; int bluetenanzahl; int calcgroesse(void); public: void wachsen(void); void bluehen(void); void pfluecken(void); void init(int, int, int, int); }; int Kartoffel::init(int kd, int ka, int gr, int ba) { knollendicke=kd; knollenanzahl=ka; groesse=gr; bluetenanzahl=ba; }
das ist nicht die komplette klasse, das ist nur der anfang, aber schon bei dem anfang mekert der compiler (habe den g++ compiler).
hier ist der selber code nochmal, so wie er auf der cd ist:
#include <iostream> using namespace std; class Kartoffel { private: int knollendicke; int knollenanzahl; int groesse; int bluetenanzahl; void calcgroesse(void); public: void wachsen(void); void bluehen(void); int pfluecken(void); Kartoffel(int, int, int, int); }; Kartoffel::Kartoffel(int kd, int ka, int gr, int ba) { knollendicke=kd; knollenanzahl=ka; groesse=gr; bluetenanzahl=ba; }
der von der code von der cd geht, aber der code von dem buch geht nicht.....
ich habe noch ein buch, das sehr gut ist über c++ leider ist es noch ohne den neuen-standard, daher wird es schlecht sein, dieses buch anzufangen und zu lesen..... oder?
bye Benny
-
was soll denn daran falsch sein... davon abgesehen das einige implementierungen der klasse fehlen wette ich, ohne das zu probieren, dass mein compiler das fressen wird wenn ich noch ein int main(){} hinten dranhänge...
iostream ist in dem fall eh nicht nötig da du keine funktionen daraus verwendest kannst du also bisher weglassen.
ach so doch jetzt seh ich ein fehlerchen init defintion und implementation haben bei dir nicht den gleichen rückgabetyp, also entweder nur void oder int verwenden...
-
Windalf schrieb:
was soll denn daran falsch sein... davon abgesehen das einige implementierungen der klasse fehlen wette ich, ohne das zu probieren, dass mein compiler das fressen wird wenn ich noch ein int main(){} hinten dranhänge...
iostream ist in dem fall eh nicht nötig da du keine funktionen daraus verwendest kannst du also bisher weglassen.
ach so doch jetzt seh ich ein fehlerchen init defintion und implementation haben bei dir nicht den gleichen rückgabetyp, also entweder nur void oder int verwenden...
Die zweite Variante hat keine init-Funktion. Ich wette er hat versucht, die
erste Variante so zu instanziieren, wie er es bei der zweiten tuen kann, was
natuerlich nicht geht, da die erste Variante keinen CTor mit entsprechenden
Parametern anbietet. Statt dessen hat diese Variante die init-Funktion.mfg
v R
-
Ein Fehler ist schon im ersten, nämlich dass kein int init() deklariert ist, das aber nachher definiert werden soll.
-
Das Buch ist wirklich für die Müllkippe:
[cpp]void bluehen(void);[/cpp]
Hilfe!