Jak dziedziczyć i operować na klasie z szablonami ?

0

Niestety nie da się podzielić klasy z szablonami na 2 pliki ".h i .cpp", więc mam wszystko w pliku ".h"
Następnie chce aby inna klasa dziedziczyła po tej klasie z szablonami. Niestety w tej "drugiej" klasie musiałbym znowu zrobić wszystko w pliku ".h" bo potrzebne są szablony... Da się to jakość obejść ?

2

Możesz definicje pisać w .cpp, deklaracje w .h, ale musisz na końcu headera zaincludować ten .cpp i nie możesz pliku .cpp kompilować oddzielnie (tzn musi to być kompilowane tak jak w przypadku samego .h, za każdym razem).

1

Możesz explicite definiować instancje szablonu w pliku .cpp, wtedy wystarczą Ci same deklaracje. Możesz inkludować pliki .cpp efektywnie czyniąc z nich nagłówki (więc jak już to lepiej podziel nagłówki na template.h i template_impl.h, lub template_fwd.h i template.h)

Najłatwiej po prostu całość dawać do jednego nagłówka.

W C++17 być może moduły rozwiążą ten problem.

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