ошибка C2248: 'klientPracownik :: klientPracownik': невозможно получить доступ к закрытому члену, объявленному в классе 'klientPracownik'

0

У меня ошибка в строке:

klientPracownik obiekt4(4, "prezes", 99);

"4" подчеркнуто и вызывает ошибку:

Ошибка C2248: 'klientPracownik :: klientPracownik': не может получить доступ к закрытому члену, объявленному в классе 'klientPracownik'. Я понятия не имею, почему, потому что каждый из них является общедоступным. Пожалуйста, помогите мне. Вот код, я удалил все, что неважно:

#include <iostream>
using namespace std;

class osoba{
public:
    int id;
    osoba(){}
    osoba(int ide) :id(ide) {}
    virtual ~osoba();
};

class klient : virtual public osoba{
public:
    float rabat;
    klient::klient(float rab);
};

klient::klient(float rab) : rabat(rab){}


class pracownik : virtual public osoba{
public:
    char* stanowisko;
    pracownik::pracownik(char* stan);
};

pracownik::pracownik(char * stan) : stanowisko(stan){}

class klientPracownik :public pracownik, public klient {
    klientPracownik(int ide, char* stan, float rabat);
    ~klientPracownik();
};

klientPracownik::klientPracownik(int ide, char* stan, float rabat) :osoba(ide), pracownik(stan), klient(rabat) {}
klientPracownik::~klientPracownik(){}

int main(){

    klientPracownik obiekt4(4, "prezes", 99);

    return 0;
}
Теги:
visual-studio-2013

1 ответ

0
Лучший ответ

В вашем классе klientPracownik отсутствует public: - что означает, что все его члены/методы являются частными (даже его конструктор).

  • 0
    О нет, это было так легко ... Я такой тупой. Я искал это около часа. Большое спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню