class base
{
struct struk1
{
int a1;
};
struct struk1 s1;
public:
base(int x)
{
s1.a1 = x;
}
base() {}
};
class b : public base
{
struct struk1 s2; // Works Fine
base::struk1 s3; // Error is given => 'struct base::struk1' is private
base b1;
public:
b(int x, int y) : base(y)
{
s2.a1 = x; // Works Fine
b1.s1.a1 = x; // Error => 'base::struk1 base::s1' is private
}
}
In dem obigen Code, erhalte ich Fehler beim Zugriff auf und Objekte der Struktur zu schaffen, die unter dem private
Spezifizierer in der base
Klasse.C++ Zugriff auf Private Struktur der Base in derive Klasse
Bitte sagen Sie mir, warum ich in der Lage bin, eine Strukturvariable direkt, aber nicht mit dem Klassenobjekt base
in der abgeleiteten Klasse zu erstellen.
Welchen Compiler benutzen Sie? [Clang lehnt den Code mit einem erwarteten Fehler ab] (http://coliru.stacked-crooked.com/a/2917984eabedbf68). – StoryTeller
Ich benutzte einen Web-basierten Compiler von http://cpp.sh/ Die URL für meinen Code ist cpp.sh/4zfre/ – Nripendra
Es wird auf der Website cpp.sh erwähnt, dass das System GCC 4.9.2, mit Boost verwendet 1.55 verfügbar ' – Nripendra