Hyluss icon

Polimorfizm dla debili

Hyluss | PRO | 06/01/16 10:31:19 PM UTC | 0 ⭐ | 498 👁️ | Never ⏰ | []
C |

1.42 KB

|

None

|

0 👍

/

0 👎

// Dla debilonuw
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stdio.h>
#include <conio.h>
#include <fstream>
#include <cstdlib>
 
class bryla
{
protected:
    int ilosc_wierzcholkow;
    int kolor;    
public:
    virtual const inline void napisz ()
    {
        printf ("bryla");
    }
};
 
class szescian : public bryla
{
    int krawedz;      
public:
    void const inline napisz ()
    {
        printf ("6scian\n");
    }
};
 
class walec : public bryla
{
    int promien;
    int wysokosc;    
public:
    const inline void napisz ()
    {
        printf ("walec\n");
    }
};
 
class stozek : public bryla
{
    int promien;
    int wysokosc; 
public:
    void const inline napisz ()
    {
        printf ("stozek\n");
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    bryla *ptr_bryla; // ustawienie wskaznika
        
    // teraz inicjalizuje klasy
    bryla lol;
    szescian bryla_1;
    walec bryla_2;
    stozek bryla_3; 
 
    //ustawiam wskaznik na adres zainicjalizowanych wczesniej klas
    ptr_bryla = &bryla_1;
    //korzystajac z 'virtual' wyswietlam funkcje na ktora aktualnie pokazuje wskaznik
    ptr_bryla->napisz();
 
    //ustawiam wskaznik na nowy adres zainicjalizowanej wczesnije klasy
    ptr_bryla = &bryla_2;
    //i znowu wyswietlam funkcje tym razem przypisana pod inna klase
    ptr_bryla->napisz();
 
    ptr_bryla = &bryla_3;
    ptr_bryla->napisz();
 
    ptr_bryla = &lol;
    ptr_bryla->napisz();
 
    _getch();
    return 0;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎