Frage zu ner Methode...
-
Habe ein problem. soll einfach 2 double variablen als private anlegen und dann eine methode, die in der aufgabenstellung so geschrieben ist;
Die get funktion soll den Wert von m_X bzw m_Y zurückgeben (return).
headeR:
#ifndef C2DPOINT_H #define C2DPOINT_H class C2dpoint { public: // public methods C2dpoint getX (); C2dpoint getY (); private: // private member fields double m_X; double m_Y; }; #endif
cpp:
#include "c2dpoint.h" C2dpoint C2dpoint::getX () { return (m_X); }
Fehlermeldung:
c2dpoint.cpp: In member function
C2dpoint C2dpoint::getX()': c2dpoint.cpp:6: parse error before
)' token
-
Hmm, irgendwas stimmt hier nicht:
C2dpoint C2dpoint::getX () { return (m_X); }
Die Funktion soll C2dpoint zurückgeben, m_X ist aber vom Typ double
-
ja stimmt ,musste double sein... :idiot:
-
ich muss nun eine variable vom typ einer klasse deklarieren und dann per konstruktor den wert setzen.
so wie es jetzt ist,geht es,aber warum geht es mit dem auskommentierten nicht, also erst deklarieren, dann die werte zuweisen ?
Es soll mit Kontruktor gemacht werden:
#include <iostream> #include "c2dpoint.h" using namespace std; int main() { C2dpoint myPoint (1.0,2.0); //myPoint (1.0,2.0); return 0; }
-
Wann wird denn der Konstruktor aufgerufen?
Bei einer Zuweisung!
Nee, das macht der Zuweisungsoperator oder Funktionen
-
wie jetzt? also ist e sklar das es ,wenn es mit dem kontruktor gemacht werden soll, nur bei der Initialisierung geht ?
-
Achtung:
int main () { string a = "foo"; string b("bar"); string c; c = "fubar"; }
für den string a wird string::string(const char
aufgerufen
bei b wird ebenfalls string::string(const charaufgerufen
bei c wird jedoch zuerst string::string () aufgerufen und in der zeile danach
const string &string::operator = (const char *);du müsstest also den operator = überladen, wenn du eine zuweisung vornehmen willst.
fall a ist KEINE zuweisung in dem sinne, sondern eine initialisierung!