Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C++ (pointry na objekty)

Zdravím,
právě se snažím vymyslet jednu aplikačku, ale nějak se mi nedaří posílat ukazatele.
V mainu si vytvořím Objekt Tree
------------------------------------------
Node n = Node(Game(5,Coord(3,2)));
Tree tree = Tree(n);

n.a = 100; // tato hodnota je tam jen kvůli testu a ověření, že ukazatel funguje správně

tree.getRoot()->print();
// Tento příkaz by měl vypsat něco ve smyslu: "Hodnota a je 100" vypisuje "Hodnota a je <<nějaké hausnumero>>"
------------------------------------------

Popis objektů:
V tree si vezmu jeho pointer a uložím do Node *root
------------------------------------------
Tree::Tree(Node root)
{
this->root = &root;
}
------------------------------------------

Konstruktor v Node a metoda print vypadá tak nějak
------------------------------------------
Node::Node(Game game)
{
this->game = &game;
}

void Node::print(void)
{
printf("Hodnota a je %d",a);
}
--------------------------------------------

Můžete mi prosím poradit, kde dělám chybu?
Díky
Petr

Předmět Autor Datum
Vyřešeno. je potřeba psát pointry naopak (v konstruktoru předávat pouze pointer nikoli celý objekt)…
Petr_uzivatel 06.04.2011 10:39
Petr_uzivatel
ano. :) kedykolvek predas objekt (ne pointer) tak je skopirovany do stacku t.j. neni to povodny obje… poslední
MM.. 06.04.2011 13:48
MM..

Zpět do poradny Odpovědět na původní otázku Nahoru