webForumDet fria alternativet

lägga klasser o subklasser i samma lista

C/C++

10 svar · 307 visningar · startad av Mc Fetto

Medlem sedan nov. 20022 355 inlägg
Frågan#1

Jag ska göra en klass (fordon) och två subklasser till fordon (personbil och bussar) detta vill jag spara i t ex en lista eller liknande, men då de är av olika typ så vet jag inte om detta går!?
Har någon tips på hur man kan lösa detta??

Medlem sedan feb. 20002 300 inlägg
#2

fordon är ju överklass till personbil och buss så t.ex. en personbil ÄR ett fordon.

Skapa alltså en lista utav fordon.

Sök på "dynamisk bindning" så kommer du hitta lite matnyttigt. :)

Medlem sedan nov. 20022 355 inlägg
#3

OK, man tackar. Var osäker på om det löste sig så bra..
Ska ta en titt på dynamisk bindning, tack för tipset :)

Medlem sedan juli 2002581 inlägg
#4

Phorpher skrev:

Skapa alltså en lista utav fordon.

Det ska vara pekare till fordon.

Medlem sedan feb. 20002 300 inlägg
#5

Sang-drax skrev:

Phorpher skrev:

Skapa alltså en lista utav fordon.

Det ska vara pekare till fordon.

Ja, givetvis. Miss av mig.

Tack för den Sang-drax. :bire

Medlem sedan nov. 20022 355 inlägg
#6

Japp det blir det väl automatiskt om man använder detta:

list<Fordon> lista;

eller?

Medlem sedan apr. 200318 inlägg
#7

Jo, jag tror det blir en lista med pekare till Fordon atuomagiskt. Är inte 100% säker dock.

Medlem sedan juni 200010 432 inlägg
#8

Om man ist skriver list<Fordon*> lista så blir det så ja. Det behövs pekare för att binda dynamiskt i C++:

Fordon *pek;
Car *bil = new Car(4);
MC  *bike =  new MC(2);
int antalHjul;
pek = bil;
antalHjul = pek->getHowManyWheels();
pek = bike;
antalHjul = pek->getHowManyWheels();

Antal hjul i variabeln antalHjul är nu 2, men var 4 alldeles innan, förutsatt att man har en metod getHowManyWheels redan i basklassen som returnerar en integer med antalet hjul ;), samt att man har Car och MC som subklasser - förstås.

Medlem sedan juli 2002581 inlägg
#9

Mc Fetto skrev:

Japp det blir det väl automatiskt om man använder detta:

list<Fordon> lista;

eller?

Nej.

Medlem sedan juni 200010 432 inlägg
#10

Det var även kontentan av mitt inlägg ;)

Medlem sedan juli 2002581 inlägg
#11

Japp, jag förtydligade och förenklade endast.

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)