私は多重継承を使用しようとしています。 人は私の基本クラスです。 生徒およびAngestellterは保護された属性を継承します。 WissenschaftlicheHilfskraftも(Person、Student、Angestellterから)これらの属性を継承する必要がありますが、最後の派生クラスでget_name()メソッドを呼び出すことはできません。どうして?3つの派生クラスを持つC++の多重継承
#include <iostream>
using namespace std;
class Person {
protected:
string name;
public: //.......
string get_name() { name = "bob"; return name; }
};
class Student: public Person {
private: //......
public: //......
};
class Angestellte: public Person {
private: //......
public: //......
};
class WissenschaftlicheHilfskraft : public Student, public Angestellte
{
private: //......
public: //......
};
int main()
{
Person p;
cout << p.get_name() << endl; //WORKS
Student s;
cout << s.get_name() << endl; //WORKS
Angestellte a;
cout << a.get_name() << endl; //WORKS
WissenschaftlicheHilfskraft wh;
cout << wh.get_name() << endl; //DOESN'T WORK
return 0;
}
あなたはここから知ることができます:https://isocpp.org/wiki/faq/multiple-inheritance – Sambuca