Skillnad mellan versioner av "Kap 3 Fortsättning med C Cpp (8)"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
(4 mellanliggande versioner av samma användare visas inte) | |||
Rad 1: | Rad 1: | ||
− | + | __NOTOC__ | |
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | {| border="0" cellspacing="0" cellpadding="0" height="30" width="100%" | ||
| style="border-bottom:1px solid #797979" width="5px" | | | style="border-bottom:1px solid #797979" width="5px" | | ||
{{Not selected tab|[[Lektion 8 (Inbyggd 24)| << Agenda]]}} | {{Not selected tab|[[Lektion 8 (Inbyggd 24)| << Agenda]]}} | ||
{{Selected tab|[[Kap 3 Fortsättning med C_Cpp (8)|Genomgång 8]]}} | {{Selected tab|[[Kap 3 Fortsättning med C_Cpp (8)|Genomgång 8]]}} | ||
− | |||
{{Not selected tab|[http://www.mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf Innehåll & struktur]}} | {{Not selected tab|[http://www.mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf Innehåll & struktur]}} | ||
− | {{Not selected tab|[[Lektion 9 (Inbyggd 24)|Nästa lektion >> ]]}} | + | {{Not selected tab|[[Lektion 21 (C/Cpp 23)|Nästa lektion >> ]]}} |
+ | <!-- {{Not selected tab|[[Lektion 9 (Inbyggd 24)|Nästa lektion >> ]]}} Logik --> | ||
| style="border-bottom:1px solid #797979" width="100%"| | | style="border-bottom:1px solid #797979" width="100%"| | ||
|} | |} | ||
Rad 36: | Rad 36: | ||
− | = <b><span style="color:#931136">Två funktioner | + | = <b><span style="color:#931136">Två funktioner med samma namn</span></b> = |
<div class="ovnA"> | <div class="ovnA"> | ||
[[Image: power_h.jpg]] | [[Image: power_h.jpg]] | ||
Rad 73: | Rad 73: | ||
= <b><span style="color:#931136">3) Överlagring av funktioner (overloading)</span></b> = | = <b><span style="color:#931136">3) Överlagring av funktioner (overloading)</span></b> = | ||
+ | |||
+ | == <b><span style="color:#931136"> Funktioner med samma namn, men annorlunda parameterlistor.</span></b> == | ||
</small></div> | </small></div> | ||
<br><br> | <br><br> | ||
− | |||
− | |||
− | |||
Nuvarande version från 27 september 2024 kl. 11.13
<< Agenda | Genomgång 8 | Innehåll & struktur | Nästa lektion >> |
3.12 Överlagring av funktioner (overloading)
Överlagring av funktioner (eng. overloading) är ett koncept för att koda funktionaliteter som är
besläktade med varandra, men ändå inte identiska.
C++ biblioteket innehåller många överlagrade funktioner.
Även det vanliga språket är fullt av överlagrade ord.
Ex.: Att bromsa en lastbil görs på ett annat sätt än att bromsa en båt. Ändå heter båda "att bromsa".
Signaturen
Två funktioner med samma namn
Funktionerna power() beräknar potenser på olika sätt, beroende på om
exponenten är heltal eller decimaltal. De överlagrar varandra.
Programmet Overload
De tre "Över"s i programmering:
1) Överskrivning av variabler (overwriting):
En variabels värde överskrivs av ett nytt värde, t.ex.:\( \; \mathbf{\mathit{{\color{Blue} {x \, = \, x\,+\,1}}}}\).
2a) Överskskuggning av variabler (overriding):
Lokal variabel överskuggar global variabel med samma namn.
Ex.: Programmet Scope, kursen Programmering i C och C++ (ht 23).
2b) Överskskuggning av metoder (overriding):
Metod i en subklass överskuggar superklassens metod med samma namn: Polymorfism.
3) Överlagring av funktioner (overloading)
Funktioner med samma namn, men annorlunda parameterlistor.
Copyright © 2024 TechPages AB. All Rights Reserved.