Den Mon, 19 Jan 2004 16:44:38 +0100 skrev Nicolai Hansen:
>> > Hvordan er det det er med nedarvning af constructors?
>>
>> Constructorer bliver ikke nedarvet.
>
>Undskyld - dårligt ordvalg - min fejl. Jeg tror nok du forstod alligevel :)
>
>> Default og copy-constructoren bliver genereret hvis:
>> * De ikke explicit er implementeret
>> * De bliver brugt
>> * De _kan_ genereres, ud fra basis-klassens tilsvarende
>>
>> > Hvis man har en default constructor Base::Base(), og en anden
>> > constructor Base::Base(char *ting), nedarver klassen og begge
>> > constructors,
>>
>> Nej
>
>Forstået på den måde at man har en anden klasse, som nedarver fra Base, og
>som har de samme constructors.
>
>> > så vil den nye klasses "anden constructor" kalde default
>> > constructoren i Base - er det ikke sådan?
>> > Og hvad er det tricket er
>> > for at få kaldt den "rigtige" (dårligt udtryk)?
>>
>> Man angiver det explicit, eller bliver default constructoren kaldt:
>>
>> Derived::Derived(double d) :
>> Base("DerivedTingParam")
>> {
>> }
>
>Tak. Det er en af disse ting jeg godt ved, men aldrig kan huske når jeg skal
>bruge det :)
>
>Et tillægs spørgsmål: Kan man -på nogen måde- UNDGÅ at base klassens default
>constructor bliver kaldt? (andet ved end selv at kalde en anden
>constructor)?
Ved at lade være med at arve fra den. Constructoren opretter objektet,
så uden constructor ikke noget object.
Mvh
Kent
--
Help test this great MMORPG game -
http://www.eternal-lands.com/