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

[CR] Obiektowy C++ (#5): Dziedziczenie. Klasy pochodne

+1 głos
2,964 wizyt
pytanie zadane 4 maja 2016 w Nasze poradniki przez Mirosław Zelent Nałogowiec (34,370 p.)

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

https://www.youtube.com/watch?v=ZesZXlBcROA

dziedziczenie.cpp:

#include <iostream>
#include <math.h>

using namespace std;

class Punkt
{
   float x,y;
   string nazwa;

public:
   void wyswietl()
   {
      cout<<nazwa<<"("<<x<<","<<y<<")"<<endl;
   }
   Punkt(string n="S", float a=0, float b=0)
   {
      nazwa = n;
      x = a;
      y = b;
   }
};

class Kolo :public Punkt //klasa Kolo dziedziczy publicznie z klasy Punkt
{
   float r;
   string nazwa;

public:
   void wyswietl()
   {
      cout<<"Kolo o nazwie: "<<nazwa<<endl;
      cout<<"Srodek kola: "<<endl;
      Punkt::wyswietl();
      cout<<"Promien: "<<r<<endl;
      cout<<"Pole kola : "<<M_PI*r*r<<endl;
   }

   Kolo(string nk="Kolko", string np="S", float a=0, float b=0, float pr=1)
   :Punkt(np,a,b)
   {
      nazwa = nk;
      r = pr;
   }
};

int main()
{
    Kolo k1;
    k1.wyswietl();

    return 0;
}

Paczka z odcinka: POBIERZ​

1 odpowiedź

0 głosów
odpowiedź 9 maja 2016 przez Ehlert Ekspert (207,470 p.)
Albo nie zrozumiałem idei, albo przysłanianie pola klasy punkt było w tym przypadku bez sensu.
komentarz 9 maja 2016 przez MetGang Nałogowiec (34,380 p.)
Kolo(string nk="Kolko", string np="S", float a=0, float b=0, float pr=1)
   :Punkt(np,a,b) // <--

Masz na myśli tę część kodu?

komentarz 11 maja 2016 przez Ehlert Ekspert (207,470 p.)

Nie chodzi mi o kod. Jest ok, ale o sam pomysł przesłaniania pól. To zupełnie co innego niż przesłanianie metod.

Obiekt dziedziczący przesłania metody ponieważ jest bardziej rozbudowany, wykonuje je inaczej/lepiej. Natomiast z cechami jest inaczej i moim zdaniem daną cechę (pole w tym przypadku), posiada się lub nie. Jego przesłanianie jest moim zdaniem bez sensu.

Jest to moja subiektywna opinia i fanie byłoby zobaczyć komentarz innych a w szczególności autora smiley

 

Podobne pytania

+1 głos
0 odpowiedzi 4,442 wizyt
+4 głosów
1 odpowiedź 1,935 wizyt
+3 głosów
0 odpowiedzi 1,371 wizyt

88,720 zapytań

137,332 odpowiedzi

306,819 komentarzy

58,907 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...