Warum kann ich nicht zugreifen Basisklasse A ist ein Mitglied in Klasse B Initialisierungsliste?Problem ableiten über C++
class A
{
public:
explicit A(int a1):a(a1)
{
}
explicit A()
{
}
public:
int a;
public:
virtual int GetA()
{
return a;
}
};
class B : public A
{
public:
explicit B(int a1):a(a1) // wrong!, I have to write a = a1 in {}. or use A(a1)
{
}
int GetA()
{
return a+1;
}
};
class C : public A
{
public:
explicit C(int a1):a(a1)
{
}
int GetA()
{
return a-1;
}
};
Ich habe die Formulierung so geändert, dass die Frage spezifischer ist: Sie können nicht auf ein Feld aus den Initialisierungslisten zugreifen, während Sie tatsächlich über den Konstruktor-Text darauf zugreifen können. –