Funktion Överbelastning kontra överbestyrning i C ++
Innehåll
- Innehåll: Skillnad mellan funktionsöverbelastning och överskridande i C ++
- Jämförelsediagram
- överbelastning
- tvingande
- Viktiga skillnader
- Slutsats
- Förklarande video
Den viktigaste skillnaden mellan överbelastning av funktioner och övervägande i C ++ är att överbelastning av funktioner i C ++ är kompileringstids-polymorfism medan åsidosättande i C ++ är en polymorfism i körtid.
Att använda ett namn för flera former och typer kallas polymorfism. Polymorfism är ett av de viktigaste begreppen inom objektorienterad programmering. Det finns många sätt att implementera polymorfism som fungerar överbelastning, övervägande och virtuell funktion. Funktionsöverbelastning i C ++ är kompileringstids-polymorfism medan överskridande i C ++ är en polymorfism i körtid.
Överbelastning är kompilerad tidspolymorfism. Överbelastning ger ett gemensamt gränssnitt för flera metoder. Medelkod för överbelastning innehåller samma funktionsnamn medan den omdefinieras. Överbelastning gör att en överbelastad funktion skiljer sig från annan funktion. Det finns olika parametrar för överbelastningsfunktion.
Polymorfism i körtid kallas överväldigande. Överskridande uppnås genom att använda ett funktionellt nyckelord som är virtuellt. Detta nyckelord används i basklassen. När härledd klass omdefinierar en funktion kan inte åsidosatt funktion ändras. Överskridande i C ++ avgör vilken version av funktionen som heter.
Innehåll: Skillnad mellan funktionsöverbelastning och överskridande i C ++
- Jämförelsediagram
- överbelastning
- tvingande
- Viktiga skillnader
- Slutsats
- Förklarande video
Jämförelsediagram
Grund | överbelastning | tvingande |
Menande | Funktionsöverbelastning i C ++ är kompileringstid polymorfism | Funktionöverskridande i C ++ är en polymorfism i körtid.
|
Nyckelord | Det finns ett specifikt nyckelord i överbelastning | "Virtuellt" är ett specifikt nyckelord i att åsidosätta funktionen. |
Prestation | Vid överbelastningsfunktion sker kompilering av tid. | Vid funktionsöverskridande sker det en körtid. |
Bindning | Vid överbelastning av funktioner är det tidigt bindande | Vid funktionsöverskridande finns det sen bindning |
överbelastning
Överbelastning är kompilerad tidspolymorfism. Överbelastning ger ett gemensamt gränssnitt för flera metoder. Medelkod för överbelastning innehåller samma funktionsnamn medan den omdefinieras. Överbelastning gör att en överbelastad funktion skiljer sig från annan funktion. Det finns olika parametrar för överbelastningsfunktion.
tvingande
Polymorfism i körtid kallas överväldigande. Överskridande uppnås genom att använda ett funktionellt nyckelord som är virtuellt. Detta sökord används i basklassen. När härledd klass omdefinierar en funktion kan den åsidosatta funktionen inte ändras. Överskridande i C ++ avgör vilken version av funktionen som heter.
Viktiga skillnader
- Funktionsöverbelastning i C ++ är kompileringstid polymorfism medan funktion som överskrider i C ++ är körtid
- Det finns ett specifikt nyckelord i överbelastning medan "Virtual" är ett specifikt nyckelord i att åsidosätta funktionen.
- Vid överbelastningsfunktion finns det kompilering av tidsöverföring medan det i funktionsöverskridande finns en körtid
- Vid funktionsöverbelastning finns det tidig bindning medan det i funktionsöverskridande finns sen bindning
Slutsats
I den här artikeln ovan ser vi den tydliga skillnaden mellan funktionsöverbelastning och funktionsöverskridande med exempel.