Witam,
chcę zaprojektować trzy klasy A,B,C w taki sposób, że klasa B może korzystać z całego publicznego interfejsu klasy A, natomiast klasa C mogłaby używać tylko niektórych publicznych metod klasy A. Mam z tym problem, ponieważ nie mogę używać przyjaźni.
Chciałem utworzyć klasę A' dziedziczącą prywatnie po klasie A, i wtedy klasy B,C miałyby wspólny interfejs publiczny w klasie A'. W momencie gdy chciałbym wykonać metodę która miała by być wykonywana tylko przez B, rzutowałbym A' na A, lecz próba przypisania A* a = &b; (gdzie b jest typu A') daje błąd przy kompilacji.
Ma ktoś pomysł jak to zrobić?