Klasa rozbita na trzy pliki: qframe.cpp, qframe.h oraz qframe_p.h

0

Dlaczego w Qt wszystkie klasy zbudowane są z trzech plików ?
Takie podejście warto stosować ?
Czy to tylko ma zastosowanie jak chce udostępnić klasę na zewnętrze i mam piękniejszy interfejs (nie miesza sie czesc prywatna z tym co udostepniam) czy też ma to jeszcze jakiś korzyści (szybsze budowanie, zastosowanie do testów jednostkowych)
Może jakiś blog/literatura ktora by opisywała zalecenia kiedy to robić ?

0

Klasy C++ dosć często są rozbijane: w H/HPP deklaracja, w CCP/CC implementacja (nie musi tak być)

Qt ma swój preprocesor, własny ekosystem. tzrecia będzie z tym związana
"sądzę" że w/w pliki maja wygenerowane zdanie komenatrza w sobie

Zostałem skorygowany, dzięki

3

Pimpl

Qt: D-pointer

4

W tym przypadku jest to koncept "private implementation":

Założenie jest takie, że klient/użytkownik klasy nie musi/nie powinien znać jej dokładnej implementacji.

3

Głownym celem stosowania: pImpl/d-pointer jest utrzymywanie binary compatibility.
Jak już publikuje się bibliotekę jako dynamiczną to miło by było, by można było podmienią bibliotekę na nowszą bez potrzeby przebudowywania wszystkiego.
To co wskazywane ejst przez pImpl/d-pointer może być dowolnie zmieniane, bo użytkownik biblioteki nie ma dostępu do tych detali implantacyjnych.

0

Dziękuję za naprowadzenie na temat i link.
Czytam !

1 użytkowników online, w tym zalogowanych: 0, gości: 1