Fordele / ulemper ved virtual function

Tags:    c++

Ja, hvorfor skulle jeg have lyst til at lave en virtual funktion i min klasse? Har hørt at den gør et eller andet under runtime, men hvad er fordelen / ulempen?





Hej Jakob,

Du kan læse om det her...
http://www.codersource.net/cpp_virtual_functions.html

Fordelen er, at afledte klasser i klasse hirakiet (ikke japansk selvmord) lettere kan både indeholde metoden garanteret OG stadig har muligheden for at overskrive denne.

Det er Runtime Linking, som gør at metoden i den nye klasse kaldes.

Med venlig hilsen
Ieet

Ps. Med metoden mener jeg at jeg har kodet for meget java, og at det i C++ kaldes funktionen.




Indlæg senest redigeret d. 22.05.2008 16:09 af Bruger #12836
fordelen er at hvis du har en nedarvet klasse men påstår at det er en base klasse, så når du kalder funktionen bliver den kaldt i en nedarvet klasse. Det lyder måske ikke som en fordel men det gør det lettere at putte alle klasser ind i den samme container. Ulempen ved det er at det er dyrere at kalde en virtual funktion end en normal funktion.



Her er en foklaring der ikke ender i en 404 :-)

http://www.cplusplus.com/doc/tutorial/polymorphism.html

-Lütken



t