Przedłużanie klasy

EDYTUJ Odpowiedź: Chociaż moje pierwotne pytanie nie wyjaśniało moich potrzeb dokładnie w taki sposób, w jaki odpowiadał im Konrad Rudolph, to on (przez przypadek lub projekt) napisał dla mnie zasadniczo to, co próbowałem napisać! Sama klasa nie jest rozszerzana, ale ma rozszerzoną funkcjonalność, dzięki czemu klasa jest świadoma nowych funkcji, które pozwalają jej (klasie) obsługiwać szerszy zakres problemów. Jestem wdzięczny za doskonałą odpowiedź, która z kolei jest świetnym samouczkiem, nawet jeśli wymaga trochę światła? czytanie książek przeze mnie ;-).

Jestem pewien, że jest to bardzo podstawowe pytanie, ale próbuję sam nauczyć się C ++, a podręczniki, których używam, dostarczają odpowiedzi, których nie rozumiem.

Dla mojego projektu definiuję aclass error_handler {} który przetwarza komunikaty wyjątków i numery błędów z różnych punktów programów. Wyloguje błąd w pliku i / lub wydrukuje wiadomość na ekranie przy użyciu różnych funkcji składowych.

Moim celem jest stworzenie tego, aby miało własne pliki .h i .cpp, a jeśli później będę musiał je rozszerzyć, wystarczy dodać nową funkcję składową, aby obsłużyć nieco bardziej niejasny rodzaj manipulacji błędami.

Moje pytanie brzmi:

Od werror.h Mam kod:

class error_handler
{
  // ctor dtor copy logger screen functions defined
}

I werror_handler.cpp Uzupełniam te definicje,

Jak mogę po prostu dodać nową funkcję do klasy? Nie chcę go klasyfikować, po prostu go rozszerzać.

W przypadku scenariusza użycia załóżmy, że moduł obsługi błędów jest klasą zdefiniowaną w zastrzeżonym pakiecie, w której nie mam możliwości bezpośredniego modyfikowania źródła, ale mogę go rozszerzyć w oddzielnym kodzie.

EDIT: Odpowiedzi i komentarze do tej pory wydają się wskazywać, że próbuję zrobić coś, czego język nie powinien robić. Jeśli tak, niech tak będzie, nauczyłem się czegoś tutaj. W nadziei, że tak nie jest, pozostawiam pytanie otwarte na chwilę, aby zobaczyć, co jeszcze może wędrować po tym poście ......

questionAnswers(3)

yourAnswerToTheQuestion