Abstraktni trida do vektoru? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Abstraktni trida do vektoru? – C / C++ – Fórum – Programujte.comAbstraktni trida do vektoru? – C / C++ – Fórum – Programujte.com

 

20. 1. 2008   #1
-
0
-

Jakym zpusobem muzu donutit vektor, abych do nej mohl vkladat objekty zalozene na jedne abstraktni tride?

Abych to priblizil...mam tridu entity a na te je zalozeno nekolik ruznych druhu entit (=trid dedicich tuhle tridu, ktere jiz samozrejme abstraktni nejsou). Docela potrebuju, abych to mohl mit v tom jednom vektoru.

Ted mam tenhle kod:

std::vector<entity> entities;
A dela to tenhle error:
c:\program files\microsoft visual studio 9.0\vc\include\vector(716) : error C2259: 'entity' : cannot instantiate abstract class

due to following members:
'void entity::loop(void)' : is abstract
c:\documents and settings\mzabsky\dokumenty\visual studio 2008\projects\gw\gw\entities.h(37) : see declaration of 'entity::loop'
'void entity::collide(entity)' : is abstract
c:\documents and settings\mzabsky\dokumenty\visual studio 2008\projects\gw\gw\entities.h(38) : see declaration of 'entity::collide'
c:\documents and settings\mzabsky\dokumenty\visual studio 2008\projects\gw\gw\core.cpp(18) : see reference to class template instantiation 'std::vector<_Ty>' being compiled
with
[
_Ty=entity
]
Loop a Collide jsou ty virtualni funkce, ktere jsou u entity prazdne.

...nebo existuje nejaky jiny zpusob jak bych mohl potom prochazet vsechny objekty zalozene na entity?

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
tmi0
Věrný člen
20. 1. 2008   #2
-
0
-

nemuzes mit ve vektoru (obecne kdekoli) instance abstraktni tridy, muzes ale mit ukazatele na ni, coz tvuj problem resi.

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
20. 1. 2008   #3
-
0
-

Diky, nenapadlo me, ze se to jako * bude chovat jinak :)

(PS: poradne podekuju az se mi to opravdu podari rozbehnout. uz jsem se prokousal 39 chybama kompilace, 2 chybama linkeru a ted mi zbyvaji nejake ty access violation :P )

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý