Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //polimorfizm
- //klasa abstrakcyjna zastępcza
- class zastepcza
- {
- public:
- virtual void oblicz_rezystancje()=0;
- };
- //klasy pochodne
- class szeregowo2 :public zastepcza
- {
- float rezystancja_rezystora;
- public:
- szeregowo2(float rr)
- {
- rezystancja_rezystora=rr;
- }
- //przesłonięcie funkcji wirtualnej
- virtual void oblicz_rezystancje()
- {
- cout << "Rezystancja zastępcza wynosi: " << rezystancja_rezystora+rezystancja_rezystora << endl;
- }
- };
- class rownolegla2 :public zastepcza
- {
- float rezystancja_rezystora;
- public:
- rownolegla2(float rr)
- {
- rezystancja_rezystora=rr;
- }
- //przesłonięcie funkcji wirtualnej
- virtual void oblicz_rezystancje()
- {
- cout << "Rezystancja zastępcza wynosi: " << (rezystancja_rezystora*rezystancja_rezystora)/(rezystancja_rezystora+rezystancja_rezystora) << endl;
- }
- };
- /*
- void rezystancja_zas(zastepcza *rz)
- {
- rz->oblicz_rezystancje();
- }
- */
- int main()
- {
- //utworzenie obiektu klasy
- rownolegla2 rr2(5);
- szeregowo2 rs2(5);
- //wykorzystanie wskaznika do ustalenia co mam liczyc czy szeregowo czy rownolegle
- zastepcza *wsk;
- wsk = &rr2;
- wsk->oblicz_rezystancje();
- wsk = &rs2;
- wsk->oblicz_rezystancje();
- //polimorfizm
- //funkcja rezystancja_zas zmienia swoja postac w zależności od tego jaki jest wskaźnik
- /*
- wsk=&rr2;
- rezystancja_zas(wsk);
- wsk=&rs2;
- rezystancja_zas(wsk);
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement