Dijuna
#programowanie #cpp
Mam sobie klasę DatabaseItem i pełno klas dziedziczących (People, Roles, Groups itp.). Jak zrobić funkcję która zwróci nazwę tabeli do której odnosi się obiekt? Jeżeli dam to w funkcji wirtualnej to będzie przechowywał stringa dla każdego obiektu, a jeżeli w statycznej to nie odwołam się do niej z poziomu rodzica, a jak googlam "virtual static c++" to się ze mnie StackOverflow śmieje, że to nie ma niby sensu. ( ͡° ʖ̯ ͡°)
  • Najlepsze
  • Wszystkie komentarze
lionbest
Jeżeli to dasz jako return w funkcji wirtualnej to jakim cudem ma ci to przechowywać stringa w każdym obiekcie?
G.....r
G.....r
@Dijuna: statyczne pole, wirtualna funkcja
Dijuna
Dijuna Autor
0
@Golem_Piotr: a... sorry, pół roku nie programowałem. xD
Dijuna
Dijuna Autor
0
@lionbest: @Golem_Piotr: czy jak na tym obrazku, jeżeli przeniosę deklarację statycznej stałej z ciała klasy do funkcji, będzie błąd ponownej deklaracji jeżeli takie coś zastosuję w kilku klasach-dzieciach? Działa jak jest, ale mało to estetyczne.
lionbest
@Dijuna: Nie, niby czemu by miała być jakaś ponowna deklaracja?

Po za tym jak już przechowujesz gdzieś statika to lepiej QLatin1String niż QString, a jak ma być const najlepiej używać constexpr QLatin1String, chociaż w twoim przypadku zwracasz const& to faktycznie powinieneś przechowywać QString.

Pół roku i już takie braki? no nieźle.