Posted By: jerryiii (Vsude dobre, v CR nejhur) on 'CZprogram' Title: Re: C++ Date: Thu Jan 2 19:35:15 2003 > Dobry, takze sem se podival na nejaky examply a vim ze to ma byt: > > t2::t2(string txt):t1(txt){ > cout << "Konstruktor t2 s parametrem " << text << endl; > } > > Otazka je proc? Pokazde kdyz se vola 't2 var2("trest")' vola se i > konstruktor > t1, predpokladam, ze tim :t1(txt) dam najevo ze nechci implicitni > konstruktor, ale prave ten parametricky. > Jo/ne? Ne, musis explicitne specifikovat. Pokud nespecifikujes, tak by se volal t1::t1() i z t2:t2 s parametrama. Samozrejme jen pokud by existoval a pokud by byl dostupnej (tj. nebyl by private), jinak ti to nezkompiluje. > Proc ale nemuzu pouzit co je v te okomentovane verzi nahore? > 't2::t2(string txt):text(txt){', ona ta ta t2 nema ten string text?! > > Kouzla, cary? Ma, ale t1 nema default konstruktor v tom kodu cos napsal. Tj. bys mohl udelat t2:t2(string txt) : t1(txt), text(txt) {...}; anebo pridat do t1 kontruktor bez paramteru. > BTW vetsinou kdyz uz zacnu smolit dotaz na blianu, najdu odpoved do 10ti sec > > po zmacknuti Ctrl+x;Enter. Ma to tady este nedko? > > Nehodlam vysvetlovat a ... > ... Sipu si popel na > *hlavu* Jerry III Enough said ... http://jerryiii.home.sprynet.com/mica/index.htm