Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » 2 Klassen, 1 Headerdatei

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
02.12.2007, 13:07 Uhr
~EukeSnud
Gast


Moinsen,

ich hab da ein Problem bei der Deklaration von zwei Klassen in einer Headerdatei.


C++:
#ifndef WUERFELN_HPP
#define WUERFELN_HPP
#include <iostream>
#include <cmath>
#include <ctime>
#include <cstdlib>

class Wuerfel {
  private:
    int zahl;
  public:
    static int count;
    Wuerfel();
    friend std::ostream& operator<<(std::ostream&, const Wuerfel&);
    friend WurfZaehler& WurfZaehler::operator+=(const Wuerfel);
};
class WurfZaehler {
  private:
    int zaehler_feld[6];
  public:
    WurfZaehler();
    WurfZaehler& operator+=(const Wuerfel);
    friend std::ostream& operator<<(const std::ostream&, const WurfZaehler&);
};
#endif



Fehlermeldungen:
15 ...\wuerfeln.hpp ISO C++ forbids declaration of `WurfZaehler' with no type
15 ...\wuerfeln.hpp `WurfZaehler' is neither function nor member function; cannot be declared friend
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.12.2007, 13:10 Uhr
~EukeSnud
Gast


Jedes Objekt der Klasse Wuerfel, erhält beim Konstruieren eine "zahl" mit einem zufälligen Wert zwischen 1 und 6. Der += Operator der Klasse WurfZaehler erhöht dann die entsprechende Zahl in seinem zaehler_feld.
Der += Operator soll (laut Aufgabenstellung) in der Klasse Wuerfel als friend deklariert werden, damit er Zugriff auf das private-Element Zahl erhält.

Also Vorschläge, wie ich es besser machen kann brauche ich nicht Man muss sich ja genau an die Aufgabenstellung halten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.12.2007, 14:29 Uhr
Kest
saint


Hi!


C++:
//....
class Wuerfel;

class WurfZaehler {
  private:
    int zaehler_feld[6];
  public:
    WurfZaehler();
    WurfZaehler& operator+=(const Wuerfel);
    friend std::ostream& operator<<(const std::ostream&, const WurfZaehler&);
};

class Wuerfel {
  private:
    int zahl;
  public:
    static int count;
    Wuerfel();
    friend std::ostream& operator<<(std::ostream&, const Wuerfel&);
    friend WurfZaehler& WurfZaehler::operator+=(const Wuerfel);
};
//.....


--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.
 
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: