Wpis z mikrobloga

#cpp
Czy w momencie gdy destruktor nic nie robi, to warto wgl zapisywać jego definicję w klasie? Chodzi o dobre praktyki w kodzie produkcyjnym.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@VanQator: jak masz metody wirtualne w klasie to robisz zawsze virtual ~NazwaKlasy() = default. W innych przypadkach nie powinno się definiować własnego konstruktora, jeżeli ma być pusty
  • Odpowiedz
@VanQator: rozważmy kilka scenariuszy

1. polimorfizm
jeżeli tworzysz interfejs/klasę abstrakcyjną, to powinieneś z automatu dodać mu wirtualny pusty/defaultowy denstruktor.
jeżeli masz już konkretną implementację interfejsu/klasy abstrakcyjnej, to możesz dodać override do tego destruktora, żeby ktoś przypadkiem nie usunął virtual z klasy
  • Odpowiedz