gawan Napisano Luty 6, 2011 Zgłoś Share Napisano Luty 6, 2011 Witam. Mam pewein proble z następującym programem: #include <iostream> using namespace std; class Klasa_Bazowa { int i; public: void get(int num) {i = num;} int set() {return i;} }; class Klasa_Pochodna : Klasa_Bazowa { int j; public: void getp(int num) {j = num;} int setp() {return j;} }; int main() { Klasa_Bazowa *kb; Klasa_Pochodna Objekt; kb = &Objekt; //w tej linijce pojawia się błąd kb->get(10); cout << kb->set() << "\n"; return 0; } Przy próbie skompilowania tego programu uzyskuję następujący raport: CODE :~/Desktop/Pulpit/Programy_przykładowe/C++/H.Shildt$ g++ -Wall p40.cpp -o P40 p40.cpp: In function ‘int main()’: p40.cpp:26: error: ‘Klasa_Bazowa’ is an inaccessible base of ‘Klasa_Pochodna’ Czy ktoś wie może dlaczego pojawia się taki błąd? Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Luty 6, 2011 Zgłoś Share Napisano Luty 6, 2011 Jakbyś poczytał o dziedziczeniu klas w C++, to wiedziałbyś, że trzeba (w większości przypadków) przed nazwą klasy rodzicielskiej dodać jeszcze tzw. operator widoczności. Czyli to będzie wyglądać np. tak: class Klasa_Pochodna : public Klasa_Bazowa Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.