Jde o tohle:
Kód: Vybrat vše
class U {
public:
U() {a = 1; cout << "1" << endl;}
U(int i) {a= i + 2;}
int a;
};
class T: public U
{
public:
T() : U(2) { }
T(int i) {a = a + 3;}
T(const U &p):U(p.a) { }
T(const T &p): U(p.a) { }
};
Kód: Vybrat vše
T y;
T x = y;
Kdyz ale napisu:
Kód: Vybrat vše
T x = T();
Jak je to mozne? Nemely by oba zapisy udelat to same?
Jeste jsem zkousel odstranit kopirovaci konstruktor:
Kód: Vybrat vše
T(const T &p): U(p.a) { }
Nebo ne? (No, ja vim, ze ne...)
Diky moc