Dennis wrote:
> Hej
>
> Antag jeg har en klasse med en funktion( ), hvordan overloader jeg
> funktionen således den kan bruges som både:
>
> x.funktion( );
> og
> z = y + x.funktion( );
>
> , hvor x,y,z er af klassen C. (jeg har styr på operatorer så z=y+x virker)
>
> Jeg troede flg. kunne gøre det, men nej!
>
> class C{
> void funktion( void );
> C funktion( void ); // Returnerer et nyt objekt
> }
>
> Håber det kan forstås, og så på forhånd tak!
Som du nok har fundet ud af kan man ikke overloade en
funktion der kun adskiller sig ved retur type.
Du kan godt kalde x.funktion() uden at bruge retur værdien,
men vil dog spilde tid på at oprette et objekt som bliver
nedlagt igen med det samme (medmindre at kompileren kan se
at du ikke bruger det).
--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel