» »

[C++] Razredi

[C++] Razredi

golobich ::

Pozdravljeni!

Po dolgem času sem se odločil da spet spišem en programček v C++ vendar sem takoj naletel na prvi problem. Ni mi jasno zakaj atribut razreda ne more biti istega tipa kot razred?
Primer:
class Node
{
      public:
             int key;
             Node left;
             Node right;
};

Napiše sledeče: Field 'left' has incomplete type
Mi lahko kdo to razloži?

Najlepša hvala.

Lp, golobich ;)

roba87 ::

kot warning pa si verjetno dobil nekaj v zvezi "incomplete type", kar pomeni, da si ustvaril objekt, ki je nedokončanega tipa.

golobich ::

Sem vse napisal kaj javi torej ja...incomplete type. Kako se rešim tega? :)
Ker JAVA to normale sprocesira :)

mallard ::

Ni mogoče. Pomisli, kolk pomnilnika bi zasedel razred, ki vsebuje instanco istega tipa? Node vsebuje Node, ta node vsebuje Node, ki vsebuje Node, ki spet vsebuje tak Node, ki vsebuje Node... Kje bi se to končal?

Lahko maš kazalec ali pa referenco na Node:
class Node
{
      public:
             int key;
             // kazalec
             Node* left;
             // ali pa referenca
             Node& right;
};


V Javi to deluje, ker naokrog pošiljaš reference, ne instanc.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne (strani: 1 2 3 424 25 26 27 )

Oddelek: Programiranje
1344333589 (73592) Macketina
»

E-račun

Oddelek: Programiranje
217511 (4274) ivanhoe5x
»

Predstavitev dvojiškega drevesa z seznamom

Oddelek: Programiranje
141952 (1552) ktka
»

[c#] iz class v class

Oddelek: Programiranje
5890 (764) darkolord
»

parsanje podatkov iz strani

Oddelek: Programiranje
132022 (1817) commissar

Več podobnih tem