简体   繁体   中英

error C2248: 'klientPracownik::klientPracownik' : cannot access private member declared in class 'klientPracownik'

I have error in line:

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

"4" is underlined and cause error:

error C2248: 'klientPracownik::klientPracownik' : cannot access private member declared in class 'klientPracownik' I have no idea why, cause everythink is public. Please, help me. Here is code, i deleted everythink what is unimportant:

#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;
}

您的klientPracownik类缺少public: -这意味着其所有成员/方法都是私有的(甚至是其构造函数)。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM