Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » in array object speichern

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
09.10.2009, 17:52 Uhr
~muss_
Gast


kann ich in array object speichern
z.B. für klasse Cell

Cell test = new Cell[10];
test[0] = Cell();

danke für ihre antworten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.10.2009, 17:54 Uhr
0xdeadbeef
Gott
(Operator)



C++:
Cell test[10];


?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.10.2009, 18:04 Uhr
~muss_
Gast



C++:
GOLModel::GOLModel(int size_x, int size_y)
{
    this->size_x = size_x;
    this->size_y = size_y;
        Cell **table;

    table = new Cell*[size_x];
    for(int i = 0; i<size_x; ++i)
        table[i] = new Cell[size_y];

    for(int i = 0; i<size_x; ++i)
    {
        for(int j = 0; j< size_y; ++j)
            table[i][j] = GOLModel::Cell(i, j);
    }
}



eigentlich sieht es so aus Cell bekommt 2 int werte übergeben aber bekomme ich den fehler
error C2512: 'GOLModel::Cell' : no appropriate default constructor available


Bearbeitung von 0xdeadbeef:

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


Dieser Post wurde am 09.10.2009 um 18:36 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.10.2009, 18:41 Uhr
0xdeadbeef
Gott
(Operator)


Naja, eine sinnvolle Möglichkeit wäre, der Cell-Klasse einen Default-Parameter zu verpassen und die Werte zu setzen, nachdem das Array angefordert ist. Ansonsten geht das auch mit std::vector, solange Cell einen Kopierkonstruktor hat, also etwa so:

C++:
#include <vector>

// ...

GOLModel::GOLModel(int size_x, int size_y)
  : size_x(size_x),
    size_y(size_y) {
    std::vector<std::vector<Cell> > table(size_x);

    for(int i = 0; i < size_x; ++i) {
        table[i].reserve(size_y);
        for(int j = 0; j < size_y; ++j) {
          table[i].push_back(Cell(i, j));
        }
    }
}


Übrigens - wenn du das von Hand mit new[] machst, musst du darauf achten, dass du am Ende auch alles wieder mit delete[] freigibst, sonst hast du Speicherlöcher.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 09.10.2009 um 18:41 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.10.2009, 19:09 Uhr
~muss_
Gast


vielen dank für die antwort

ich mache es dann mit vector
 
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: