【问题标题】:error C2248: 'klientPracownik::klientPracownik' : cannot access private member declared in class 'klientPracownik'错误 C2248:“klientPracownik::klientPracownik”:无法访问在“klientPracownik”类中声明的私有成员
【发布时间】:2014-06-21 20:32:20
【问题描述】:

我有错误:

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

“4”带下划线并导致错误:

错误 C2248:“klientPracownik::klientPracownik”:无法访问在“klientPracownik”类中声明的私有成员 我不知道为什么,因为everythink是公开的。 请帮我。 这是代码,我删除了everythink什么是不重要的:

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

【问题讨论】:

    标签: c++ visual-studio-2013


    【解决方案1】:

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

    【讨论】:

    • 哦,不,这太容易了……我太笨了。我找了大约一个小时。非常感谢:)
    猜你喜欢
    • 2014-01-10
    • 2012-11-15
    • 2016-12-02
    • 1970-01-01
    • 2013-07-28
    • 2011-09-06
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多