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

Czy moge az tak przeslonic wirtualki ?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
150 wizyt
pytanie zadane 4 maja 2016 w C i C++ przez 0xf Dyskutant (8,180 p.)

Czesc jako metode klasy bazowej chce miec wirtualke (virtual) tyle ze w klasie dziedziczacej metoda ta moglaby juz miec inna liczbe parametrow. 

Przykladowy kod :

#include <iostream>

using namespace std;

class Basic
{
public:
Basic();
virtual ~Basic();
virtual void wyswietl();
};

class Child:public Basic
{
private: int liczba, liczba2;

void wyswietl(int licz,int lic); //tyle samo argumentow co zmiennych w klasie

};

int main()
{return 0;}

Dobra a teraz po co to robie ? Dla czytelnosci kodu i nie pogubienia sie. Komentarz TODO przy przeslanietej metodzie wirtualnej pomoze mi sie odnalesc, nie zapomne co robilem. 

Czy takie cos ma sens ? Jak zadeklorowac taka idee z sensem ?

Czy da rade napisac w wirtualce tak zeby ilosc argumentow rownala sie ilosci zmiennych w klasie dziedziczacej ?

Pozdrawiam

1 odpowiedź

+1 głos
odpowiedź 4 maja 2016 przez Radfler VIP (101,030 p.)
edycja 4 maja 2016 przez Radfler

Takie coś jest niedozwolone. Jeżeli chcesz przesłonić metodę X z klasy bazowej to musi mieć ona:

1) Takie same typy argumentów,

2) Ten sam typ zwracany,

3) Takie same kwalifikatory ref/const/volatile,

4) Taką samą specyfikację wyjątków (noexcept).

Poza tym to co pokazałeś nie ma wg mnie sensu logicznego. W czasie kompilacji takie wywołanie da po prostu błąd:

Child _x;
Basic& _r = _x;
_r.wyswietl(0, 0); // Basic::wyswietl nie posiada pasującej listy argumentów
komentarz 4 maja 2016 przez 0xf Dyskutant (8,180 p.)
Tak myslalem jest jakis inny sposob zeby zapewnic sobie czytelnosc kodu i jego zwiezlosc. Powiem wprost staram sie w kazdej klasie nie pisac niezaleznych metod poprzez niezaleznych mam na mysli niewirtualnych albo nieodziedziczonych.

Czy moge za pomoca jakiejs biblioteki generowac cos w rodzaju dokumentacji tego co napisalismy , czy tylko Java pozwala nam na takie cos ?

Pozdraiwam
1
komentarz 4 maja 2016 przez Radfler VIP (101,030 p.)

Dokumentację możesz generować z użyciem np. Doxygena.

Podobne pytania

0 głosów
2 odpowiedzi 333 wizyt
pytanie zadane 11 stycznia 2021 w C i C++ przez szymonkozy Nowicjusz (140 p.)
0 głosów
1 odpowiedź 193 wizyt
pytanie zadane 19 czerwca 2017 w C i C++ przez Rivit Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 135 wizyt
pytanie zadane 11 lutego 2021 w Sprzęt komputerowy przez koleś34 Gaduła (3,270 p.)

93,187 zapytań

142,203 odpowiedzi

322,021 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1950p. - Anonim 3619784
  12. 1909p. - Dawid128
  13. 1901p. - Mikbac
  14. 1744p. - rafalszastok
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...