• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[CR] Obiektowy C++ (#6): Funkcje wirtualne. Polimorfizm

+1 głos
2,682 wizyt
pytanie zadane 7 maja 2016 w Nasze poradniki przez Mirosław Zelent Nałogowiec (35,030 p.)

CR = Code Review. O co chodzi? Zajrzyj tutaj
Pełna lista wszystkich Code Review? Zajrzyj tutaj

https://www.youtube.com/watch?v=9hGPe6BnTY4

polimorfizm.cpp:

#include <iostream>

using namespace std;

class Ksztalt
{
public:
   virtual void oblicz_pole()=0;
   //czysta funkcja wirtualna
};
//////////////////////////////////

class Kolo :public Ksztalt
{
   float r;
public:
   Kolo(float x)
   {
      r=x;
   }
   virtual void oblicz_pole()
   {
      cout<<"Pole kola: "<<3.14*r*r<<endl;
   }
};
////////////////////////////////////////

class Kwadrat :public Ksztalt
{
   float a;
public:
   Kwadrat(float x)
   {
      a=x;
   }
   virtual void oblicz_pole()
   {
      cout<<"pole kwadratu: "<<a*a<<endl;
   }
};
//////////////////////////////////

void obliczenia(Ksztalt *x)
{
   x -> oblicz_pole();
}

int main()
{
    Kolo k(1);
    Kwadrat kw(2);

    Ksztalt *wsk;

    wsk = &k;
    wsk -> oblicz_pole();

    wsk = &kw;
    wsk -> oblicz_pole();

    obliczenia(wsk);

    return 0;
}

Paczka z odcinka: POBIERZ​

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+4 głosów
1 odpowiedź 3,104 wizyt
+3 głosów
0 odpowiedzi 1,836 wizyt
+1 głos
1 odpowiedź 2,441 wizyt

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...