Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » [C++] selbstdefinierte Variable konvertieren ??

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
22.05.2005, 17:43 Uhr
Murdok



Habe folgendes Problem:

Ich will in einer C++ Unit den Wert der Variable Ri zurückgeben und zwar so:


C++:
double CUQuelle::getRInnen()
{
        return Ri;
}



Wenn ich das versuche sagt der Compiler mir, dass hier:

[C++ Fehler] UIKennlinie.cpp(89): E2034 Konvertierung von 'CWiderstand' nach 'double' nicht möglich

Ri gehört zu der Klasse CUQuelle und ist vom Datentyp CWiderstand.

Die Klassendeklaration:

C++:
class CUQuelle
{

        private:

        CWiderstand Ri;
        double ULeerlauf;

        public:

        CUQuelle(double U0=1.0, double Ri_=0.1);
        AnsiString ToStrU0();
        AnsiString ToStrRI();
        void setRInnen(double Ri_);
        void setULeerlauf(double U0);
        double getRInnen();
        double getULeerlauf();
};




Meine Frage jetzt: Wie kann ich Ri so konvertieren dass ich den Wert zurückgeben kann ?
Wenn jemand mehr Code brauch ums zu verstehen, wäre kein Problem.
Bin über jede Hilfe dankbar !!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.05.2005, 18:24 Uhr
Spacelord
Hoffnungsloser Fall


Ich denke eher dass du den Wert eines Attributs von CWiderstand zurückgeben möchtest, oder?
Ansonsten müsste der Rückgabewert deiner Methode auch CWiderstand sein,(oder besser ne konstante Referenz darauf).

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.05.2005, 20:50 Uhr
Murdok



Danke erstmal für deine Antwort,
was du mit Attribut meinst ist mir nicht ganz klar. Ich brauche den Wert der Variable Ri, da er für eine Berechnung in einer anderen Funktion (derselben unit) benötigt wird.
Ich glaube man muss den Wert von Ri irgendwie in einen AnsiString umwandeln, aber ich habe keine Ahnung wie das geht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.05.2005, 21:09 Uhr
Spacelord
Hoffnungsloser Fall


Ein Attribut ist eine Variable eines Datentyps die du in deiner Klasse deklarierst.Zum Beispiel ist Ri ein Attribut der Klasse CUQuelle und ist vom Datentyp CWiderstand.

Deine Methode(Methoden sind die Funktionen deiner Klasse) getRInnen() sollte den Datentyp double zurückgeben,du versuchst aber ein CWiderstand Objekt zurück zu geben.
Das haut nicht hin...
Was ich in meinem ersten Post meinte ist dass Ri warscheinlich seinerseits ein Attribut vom Typ double hat dass du zurückgeben möchtest(?).
Wie sieht denn die Klassendeklaration von CWiderstand aus?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.05.2005, 09:29 Uhr
Murdok



Ok...

hier die Klassendeklaration von CWiderstand:


C++:
class CWiderstand
{
        private:

        double R;

        public:

        CWiderstand(double R_=1.0);
        AnsiString ToStr();
        void setWiderstand(double R_);
        double getWiderstand();
};



In der Klassendeklaration von CUQuelle steht ja auch ein Ri_ vom Typ double aber darauf kann ich in der Methode getRinnen() ja nicht zugreifen weil es nicht zu den private Variablen gehört oder ?!
Ich kann die Klassendeklaration übrigens nicht ändern, weil ich die so vorgegeben kriege, ich muss das Programm fürs Studium schreiben. Ich kann nur die Unit ändern.

Gruß,
Tobias.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.05.2005, 09:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:

double CUQuelle::getRInnen()
{
        return Ri.getWiderstand();
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.05.2005, 23:10 Uhr
Murdok



Danke hat mir geholfen !
 
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: