Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Luokkaongelma (C++)

arcatan [11.08.2004 18:58:04]

#

Seuraavan tapainen koodi:

#include <vector>

class isa {
public:
    isa();
	~isa();
	vector<poika> pojat;
};

class poika {
public:
    poika ();
	~poika ();
	isa parent;
};

Tämä ei luonnollisestikaan toimi, koska isän kohdalla ei ole vielä tietoa pojasta ja jos ne kääntää toisinpäin, niin pojan kohdalla ei ole tietoa isästä. Haluaisinkin kuitenkin, että isä voisi luodata vektorin pojistaan, ja silti poika tietäisi kuka isänsä on. Epäselvää... Osaisiko kukaan neuvoa?

firebug [11.08.2004 19:03:02]

#

Lisää

class poika;

ennen tuota isä-luokkaa.

arcatan [11.08.2004 19:09:50]

#

Arvasinhan, että se olisi jotain noin yksinkertaista. Kiitos. Vielä kun saisi #includettua <vectorin>, <mapin>, <iostreamin>, <fstreamin> ja <stringin> oikeassa järjestyksessä.

Edit: onnistuin sitten siinäkin. <iostream> ja <fstream> ensin ja sitten STLlät.

Liquid_Vision [12.08.2004 13:41:07]

#

Onko noilla kirjastojen sisällyttämisjärjestyksellä joku merkityskin? Siis onko sillä väliä että missä järjestyksessä nuo #includetaa?

arcatan [12.08.2004 14:13:19]

#

Ainakin itselläni se alkaa valittamaan erinäisistä makroista (erase, clear) jos STL-headerit #includeaa ennen fstreamia ja iostreamia. Kääntäjänä MinGW (Dev-C++).

Metabolix [12.08.2004 14:24:07]

#

VC++:lla ei ollut ongelmia...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta