Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 19.09.2010 12:52

Zdravím,

Čítam práve jednu knihu o C++ a mám tam taký príklad. Používam najnovší dev-cpp kompilátor ale nejde mi to skompilovať. Dostal som ku knihe aj CD s príkladmi ktoré je ale v CD-romke počítača ktorý mi nefunguje :loony: .
Pochybujem že je chyba v kóde, skôr v kompilátore ale neviem čo mám nastaviť aby to fungovalo.

Tu je ukážka:
Kód:
#include <iostream>

using namespace std;

enum TYP { KON, PEGAS };

class Kon {
      public:
             void cvalat(){ cout << "Cvalam...\n"; }
      private:
              int jehovek;
      };
     
class Pegas : public Kon {
      public:
             virtual void lietat() { cout << "Dokazem lietat!\n"; }
      };
     
const int pocetkonov = 5;
int main()
{
    Kon * Ranc[pocetkonov];
    Kon * pKon;
    int volba, i;
    for( i=0; i<pocetkonov; i++ )
    {
         cout << "(1)Kon (2)Pegas: ";
         cin >> volba;
         if( volba == 2 )
             pKon = new Pegas;
         else
             pKon = new Kon;
         Ranc[i] = pKon;
    }
    cout << "\n";
    for( i=0; i<pocetkonov; i++)
    {
         Pegas *pPegas = dynamic_cast< Pegas *> (Ranc[i]); //tu je chyba
         if(pPegas)
                   pPegas->lietat();
         else
             cout << "Je to len kon\n";
             
         delete Ranc[i];
    }
    cin.get();
    cin.get();
    return 0;
}


Píše to chybu:
riadok 38: cannot dynamic_cast `Ranc[i]' (of type `class Kon*') to type `class Pegas*' (source type is not polymorphic)

Prosím pomôže. Vďaka.


Offline

Skúsený užívateľ
Skúsený užívateľ
nefunguje dynamic_cast

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 19.09.2010 13:32

Tá chybová správa znamená, že dynamic_cast pretypuje len polymorfné tiedy, čiže triedy obsahujíce aspoň jednu virtuálnu metódu. Je to tak preto, lebo ide o dynamické pretypovanie, čiže dôjde k nemu až za behu, nie pri kompilácii. Takže pridaj kľučové slovíčko virtual pred funkciu cvalat():
Kód:
virtual void cvalat(){ cout << "Cvalam...\n"; }


Ďalej musíš pridať parameter /GR v nastavení kompilátora, inak to môže hádzať chyby.

// btw, to CD nevieš z tej CD-ROM vybrať?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 19.09.2010 14:48

Moc ďakujem.

To CD je v CD-romke ale počítač nemôžem zapnúť totižto :-) .


Offline

Skúsený užívateľ
Skúsený užívateľ
nefunguje dynamic_cast

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 19.09.2010 15:01

Niekde na tej mechanike by mala byť taká dierka. Keď tam dáš špendlík, tak sa otvorí a môžeš vybrať CD disk.







_________________
Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS.
Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje

v Monitory, televízory a projektory

13

871

06.12.2009 10:22

KocuR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje?

v AMD čipové sady

9

1555

02.07.2019 17:38

Qeebo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefunguje

v PHP, ASP

4

742

08.05.2009 12:24

beginner Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefunguje databaza

v Databázy

4

806

02.09.2009 10:45

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NEFUNGUJE BLUETOOTH !!!

v Ovládače

1

777

13.12.2010 17:27

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC nefunguje

v Ostatné

12

528

11.10.2012 15:06

Timka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje myš

v Ostatné

2

310

07.06.2020 8:33

Peter Kopor Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje zvuk

v Zvuk

2

628

20.03.2009 18:59

ridick Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. HD4850 nefunguje

v ATI/AMD grafické karty

2

398

24.04.2010 20:44

Victorious_ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. localhost nefunguje

v PHP, ASP

7

1048

17.10.2013 19:24

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefunguje htmlspecialchars

v PHP, ASP

6

474

07.03.2008 22:22

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje bluetooth

v Siete

0

498

06.03.2011 21:48

scentrala Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje localhost

v PHP, ASP

1

499

20.10.2019 18:30

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje cookies

v Sieťové a internetové programy

2

508

24.10.2008 20:37

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje dualboot

v Operačné systémy Unix a Linux

4

538

25.12.2014 21:04

esso82 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nefunguje zvuk

v Zvuk

3

502

20.08.2012 16:14

saiyan Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra