+ Antworten
Ergebnis 1 bis 3 von 3

Thema: [C++] Finde Fehler in Klasse nicht!

  1. #1
    TP-Insider P4r4 macht sich hier sehr viel Mühe Avatar von P4r4
    Registriert seit
    Feb 2002
    Beiträge
    550

    [C++] Finde Fehler in Klasse nicht!

    Hi,

    ich habe mir mit c++ eine Klasse namens Artikel geschrieben, mit den Elementen artname (Artikelname), artnr (Artikelnummer) und artpreis (Artikelpreis).
    Die Klasse selbst habe ich mit Prototypen und Inline-Methoden in eine Header Datei und die restlichen Methoden in eine extra Quelldatei geschrieben.

    Wenn ich diese dann jedoch kompiliere, sagt mir der Kompiler ich hätte 20 Fehler in meinem Skript. Des Weiteren gibt er unzählige Fehlermeldungen für Fehler in Standartklassen von C++ aus, wie z.B. istream oder ostream .... .

    Nun bin ich ein wenig ratlos ... ich hoffe ihr könnt mir weiter helfen:


    Code:
    /* ========================================================================== */
    /*                                                                            */
    /*   class_artikel.h                                                          */
    /*   Description                                                              */
    /*                                                                            */
    /* ========================================================================== */
    #ifndef _CLASS_ARTIKEL_
    #define _CLASS_ARTIKEL_
    
    #include <string>
    using namespace std;
    
    class Artikel
    {
    	private:
    	  string 	artname;
    	  long 	artnr;
    	  double 	artpreis;
    
    	public:
    	  Artikel(const string&, long, double);
    	  ~Artikel();
    	  void print();
    
    	  string 	getartname()		const { return artname; }
    	  long		getartnr()			const { return artnr; }
    	  double	getartpreis()		const { retrun artpreis; }
    
    	  bool setartname(const string& name)
    	  {
    		  if(name.size() < 1) return false;
    		  artname = name;
    		  return true;
    	  }
    	  void setartnr(const long& nr) 	      { artnr = nr }
    	  void setartpreis(const double& preis)   { artpreis = nr > 0.0 ? nr : 0.0; }
    }
    
    
    
    #endif
    Code:
    /* ========================================================================== */
    /*                                                                            */
    /*   class_artikel.cpp                                                        */
    /*   Description                                                              */
    /*                                                                            */
    /* ========================================================================== */
    #include "class_artikel.h"
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int artanz = 1;
    
    Artikel::Artikel(const string& name = "unbekannt", long nr = artanz, double preis = 0.0)
    {
    	artname 	= name;
    	artnr		= nr;
    	artpreis	= preis;
    
    	cout 	<< "\n\n Es wird ein Objekt für den Artikel " + artname + " angelegt.\n"
    			<< "Dies ist der " << artanz++ << "-te Artikel mit der Artikelnummer: " << artnr << endl;
    }
    
    Artikel::~Artikel()
    {
    	cout	<< "Das Objekt für den Artikel " + artname + "wird zerstört.\n"
    			<< "Es gibt noch " << --artanz << " Artikel." << endl;
    }
    
    void Artikel::print()
    {
    	long savedFlags = cout.flags();
    	cout	<< "Artikel Daten:\n"
    			<< "--------------------------------\n"
    			<< "Artikelnummer: " artnr << endl
    			<< "Name:          " artname << endl
    			<< "Preis:         " << fixed << setpresision(2) artpreis << endl;
    
    	cout.flags(savedFlags);
    	cout << "  --- Weiter mit der Return-Taste --- ";
    	cin.get(); 
    }




    Heir noch meine Fehlermeldungen:

    --------------------Konfiguration: class_artikel - Win32 Debug--------------------
    Kompilierung läuft...
    class_artikel.cpp
    d:\microsoft visual studio\vc98\include\iostream(14) : error C2143: Syntaxfehler : Fehlendes ';' vor 'namespace'
    n:\cpp\class_artikel.cpp(36) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'artnr'
    n:\cpp\class_artikel.cpp(37) : error C2563: Listen der formalen Parameter stimmen nicht ueberein
    n:\cpp\class_artikel.cpp(37) : error C2568: '<<' : Aufloesung der Funktionsueberladung nicht moeglich
    könnte 'class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &__cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)' sein
    d:\microsoft visual studio\vc98\include\ostream(377) : Siehe Deklaration von 'endl'
    oder 'class std::basic_ostream<char,struct std::char_traits<char> > &__cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)'
    d:\microsoft visual studio\vc98\include\ostream(372) : Siehe Deklaration von 'endl'
    oder 'class std::basic_ostream<_E,_Tr> &__cdecl std::endl(class std::basic_ostream<_E,_Tr> &)'
    d:\microsoft visual studio\vc98\include\ostream(367) : Siehe Deklaration von 'endl'
    n:\cpp\class_artikel.cpp(37) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'artname'
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const struct std::_Smanip<_Tm> &)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std
    ::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const struct std::_Fillobj<_E> &)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std
    ::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const class std::basic_string<_E,_Tr,_A> &)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von
    'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const short *)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_string<char
    ,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const unsigned char)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_strin
    g<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const unsigned char *)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_str
    ing<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const signed char)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_string<
    char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const signed char *)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_strin
    g<char,struct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,_E)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_string<char,struct std
    ::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2784: 'class std::basic_ostream<_E,_Tr> &__cdecl std::operator <<(class std::basic_ostream<_E,_Tr> &,const _E *)' : Vorlagenargument fuer 'class std::basic_ostream<_E,_Tr> &' von 'class std::basic_string<char,st
    ruct std::char_traits<char>,class std::allocator<char> >' konnte nicht hergeleitet werden
    n:\cpp\class_artikel.cpp(38) : error C2676: Binaerer Operator '<<' : 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' definiert diesen Operator oder eine Konvertierung in einen fuer den vordefinierten Operato
    r geeigneten Typ nicht
    n:\cpp\class_artikel.cpp(38) : error C2065: 'setpresision' : nichtdeklarierter Bezeichner
    n:\cpp\class_artikel.cpp(38) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'artpreis'
    n:\cpp\class_artikel.cpp(38) : error C2563: Listen der formalen Parameter stimmen nicht ueberein
    n:\cpp\class_artikel.cpp(38) : error C2568: '<<' : Aufloesung der Funktionsueberladung nicht moeglich
    könnte 'class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &__cdecl std::endl(class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &)' sein
    d:\microsoft visual studio\vc98\include\ostream(377) : Siehe Deklaration von 'endl'
    oder 'class std::basic_ostream<char,struct std::char_traits<char> > &__cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)'
    d:\microsoft visual studio\vc98\include\ostream(372) : Siehe Deklaration von 'endl'
    oder 'class std::basic_ostream<_E,_Tr> &__cdecl std::endl(class std::basic_ostream<_E,_Tr> &)'
    d:\microsoft visual studio\vc98\include\ostream(367) : Siehe Deklaration von 'endl'
    Fehler beim Ausführen von cl.exe.

    class_artikel.obj - 20 Fehler, 0 Warnung(en)


    (Unter Linux mit g++ habe ich das gleiche Bild)

  2. #2
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Erstmal hast du einige Schreibfehler in dem Code. In der Methode setartpreis() hast du wahrscheinlich preis statt nr gemeint. Und setpresision() wurde nicht deklariert/definiert.
    Code:
    /* ==================================================  ======================== */
    /*                                                                            */
    /*   class_artikel.h                                                          */
    /*   Description                                                              */
    /*                                                                            */
    /* ==================================================  ======================== */
    #ifndef _CLASS_ARTIKEL_
    #define _CLASS_ARTIKEL_
    
    #include <string>
    using namespace std;
    
    class Artikel
    {
    	private:
    	  string 	artname;
    	  long 		artnr;
    	  double 	artpreis;
    
    	public:
    	  Artikel(const string&, long, double);
    	  ~Artikel();
    	  void print();
    
    	  string 	getartname()		const { return artname; }
    	  long		getartnr()			const { return artnr; }
    	  double	getartpreis()		const { return artpreis; }
    
    	  bool setartname(const string& name)
    	  {
    		  if(name.size() < 1) return false;
    		  artname = name;
    		  return true;
    	  }
    
    	  void setartnr(const long& nr) 	      { artnr = nr; }
    	  void setartpreis(const double& preis)   { artpreis = (preis > 0.0) ? preis : 0.0; }
    };
    #endif
    Code:
    /* ==================================================  ======================== */
    /*                                                                            */
    /*   class_artikel.cpp                                                        */
    /*   Description                                                              */
    /*                                                                            */
    /* ==================================================  ======================== */
    #include "class_artikel.h"
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int artanz = 1;
    
    Artikel::Artikel(const string& name = "unbekannt", long nr = artanz, double preis = 0.0)
    {
    	artname 	= name;
    	artnr		= nr;
    	artpreis	= preis;
    
    	cout 	<< "\n\n Es wird ein Objekt für den Artikel " + artname + " angelegt.\n"
    			<< "Dies ist der " << artanz++ << "-te Artikel mit der Artikelnummer: " << artnr << endl;
    }
    
    Artikel::~Artikel()
    {
    	cout	<< "Das Objekt für den Artikel " + artname + "wird zerstört.\n"
    			<< "Es gibt noch " << --artanz << " Artikel." << endl;
    }
    
    void Artikel::print()
    {
    	long savedFlags = cout.flags();
    	cout	<< "Artikel Daten:\n"
    			<< "--------------------------------\n"
    			<< "Artikelnummer: " << artnr << endl
    			<< "Name:          " << artname << endl
    			<< "Preis:         " << fixed << setpresision(2.0) << artpreis << endl;
    
    	cout.flags(savedFlags);
    	cout << "  --- Weiter mit der Return-Taste --- ";
    	cin.get(); 
    }

  3. #3
    TP-Insider P4r4 macht sich hier sehr viel Mühe Avatar von P4r4
    Registriert seit
    Feb 2002
    Beiträge
    550
    super!
    Danke habs nu.

+ Antworten

Ähnliche Themen

  1. finde fehler in javascript nicht
    Von P4r4 im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 15.10.2002, 16:13
  2. Finde Fehler im Skript nicht!
    Von P4r4 im Forum Traum-Dynamik
    Antworten: 7
    Letzter Beitrag: 15.04.2002, 12:43
  3. CSS: Ich finde den Fehler nicht...
    Von anrebe im Forum HTML & CSS
    Antworten: 6
    Letzter Beitrag: 30.03.2002, 17:30
  4. Fehler: Verhaltensweisen (funkt. nicht)
    Von revival im Forum Dreamweaver & andere Webeditoren
    Antworten: 1
    Letzter Beitrag: 23.03.2002, 14:56

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51