könnte mir jemand diese Art von "Vererbung" erklären, die in der Klasse Y gefunden werden kann: privat? C++: Klasse innerhalb einer anderen Klasse als Typ?
class X
{
private: char c_;
public: X(char c) : c_(c){}
};
class Y
{
private: X x_; // What is this ?
public: Y(X x): x_(x){}
};
int main()
{
X m('a');
Y *test = new Y(m);
delete test;
return 0;
}
Es ist das gleiche wie 'private: char c_;'. Es ist nur eine Mitgliedsvariable. Klingt so, als könnte man ein [gutes C++ Buch] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – NathanOliver
@NathanOliver verwenden, also ist es nur ein Synonym? Hat nichts mit Eigenschaften der Klasse X zu tun? –
Nein, es ist kein Synonym. Es deklariert ein Klassenmitglied namens 'x' mit dem Typ' X'. Genau wie 'private: char c_;' deklarierte ein Klassenmitglied namens 'c' vom Typ' char'. – NathanOliver