Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Wert von einer in die ander Klasse übergeben

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
29.12.2009, 13:33 Uhr
~Guest
Gast


Quellcode:

C++:
class QuadMatrix
{
private:
    int   matrix[3][3];
    int   Dim;
    float Det;
    float inverse[3][3];
public:
    void setzeDim();
    void berechneDet();
    void inv_vek();
    void invMat();
    void eingeben();
    void ausgeben();
    void anlegen(int, float);
};
class Vektor
{
private:
    int vek[3];
public:
    void vekeingabe();
    void vekberechnen();
};


möchte die Werte von der Klasse Quadmatrix (Dim und Det) in der Klasse Vektor verarbeiten bzw. übergeben.
Wie kann ich das am besten machen, hab es mit Vererbung versucht, aber net hinbekommen.

Bearbeitung von 0xdeadbeef:

cpp-Tags eingefügt, nächstes mal selbst machen.


Dieser Post wurde am 29.12.2009 um 13:50 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.12.2009, 13:54 Uhr
0xdeadbeef
Gott
(Operator)


Ich würde das wohl etwa so modellieren:

C++:
class Vektor {
public:
  double &operator[](std::size_t index);
  double  operator[](std::size_t index) const;

private:
  double data_[3];
};

class Matrix {
public:
  Vektor       &operator[](std::size_t index);
  Vektor const &operator[](std::size_t index) const;

private:
  Vektor data_[3];
};

// Implementiert dann so:

double &Vektor::operator[](std::size_t index)       { return data_[index]; }
double  Vektor::operator[](std::size_t index) const { return data_[index]; }

Vektor       &Matrix::operator[](std::size_t index)       {
  return data_[index];
}

Vektor const &Matrix::operator[](std::size_t index) const {
  return data_[index];
}


Womöglich noch mit Grenzprüfungen, aber im Grunde so. Das Ganze lässt sich dann als

C++:
Matrix m;

m[0][2] = 3.141592653589;


benutzen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 29.12.2009 um 13:55 Uhr von 0xdeadbeef editiert.
 
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: