Daten und Methoden in Klassen

Variablen und Funktionen, die innerhalb einer Klasse definiert sind, sind die sogenannten member-variables bzw. member-functions.

Falls sie von aussen zugänglich sind ( public), werden sie analog zu structs mittels
objectname.variable oder objectname.function() angesprochen
   My3Vector a(1.,2.,-1.), c(0.,2.,1.);
   a.x = 7; // nur wenn x public ...
   a.Add(c);

Innerhalb einer member-function hat man Zugriff auf alle member-variables,
egal ob private oder public, dabei genügt der Variablen-name:

   double My3Vector::Length() {
   return( sqrt( x*x + y*y +z*z ) ); // x,y,z sind member-variablen

Zugriff hat man auch auf member-variablen von Objekten derselben Klasse, die z.B. als Argument übergeben werden:

   My3Vector My3Vector::Add( My3Vector & p ) {
      My3Vector t;    t.x = x + p.x; ...

Das Objekt mit dem zusammen die Methode gerufen wird ist implizit immer verfügbar, es muss nicht als Argument angegeben werden, z.B.
v.Length();

Aufruf ohne Argumente der Member-Function
double My3Vector::Length() { // get length of Vector
return( sqrt( x*x + y*y + z*z) );

x, y, z beziehen sich dann auf Objekt v (also v.x, v.y, v.z ).


Image objectmem


GDuckeck 2019-08-01