Funzione C ++ prevalente

Funzione C ++ prevalente
In questo articolo, tratteremo la funzione prevalente nel linguaggio di programmazione C ++. C ++ supporta il polimorfismo di runtime. Nella funzione prevalente, la classe figlio ridefinisce la funzione già definita nella sua classe genitore. Consente al programmatore di fornire funzionalità specifiche della classe derivata (anche se è definita nella classe base). Ora vedremo alcuni esempi e comprenderemo il concetto di prevalenza di funzione in C++.

Esempio 1

Ho definito due classi nel codice di esempio seguente: una classe base e una classe derivata. La classe base ha una funzione membro, i.e., disp (). Il "derivato_class" è ereditato da "base_class."La funzione" Disp () "è presente in" Base_Class "e quindi ridefinita in" Derited_Class."

Nella funzione principale (), un oggetto di derivato_class, i.e., "D", viene creato. Quindi, chiamiamo la funzione Disp () sull'oggetto della classe derivata, quindi la funzione nella classe derivata verrà invocata. La versione della classe base è ignorata qui. È possibile vedere sotto l'output come - “Disp () nella classe derivata."

#includere
Utilizzo dello spazio dei nomi std;
// classe base
Classe Base_Class

pubblico:
void disp ()

cout << "disp() function in base class." << endl;

;
// classe derivata
Classe Derited_Class: Public Base_Class

pubblico:
void disp ()

cout << "disp() function in derived class" << endl;

;
int main ()

Derited_class d;
D.disp (); // Disp () funzione sull'oggetto di classe derivata
restituzione 0;

Esempio-2

In questo esempio, vedremo come chiamare deliberatamente la versione della classe base della funzione attraverso l'oggetto di classe derivata. Nella definizione della funzione di classe derivata, utilizziamo l'operatore di risoluzione dell'ambito [::] per chiamare la versione della classe base della funzione.

#includere
Utilizzo dello spazio dei nomi std;
Classe Base_Class

pubblico:
void disp ()

cout << "disp() function in base class." << endl;

;
Classe Derited_Class: Public Base_Class

pubblico:
void disp ()

Base_class :: disp (); // Chiama la versione di classe base di Disp ()

;
int main ()

Derited_class d;
D.disp ();
restituzione 0;

Esempio-3

Questo è un altro esempio di funzione prevalente. In questo esempio, abbiamo creato una classe genitore - animale e due classi derivate - anatra e cane. La classe base, io.e., La classe animale, ha un suono della funzione membro ().

Nella classe di classe/bambino derivato, io.e., Cane, abbiamo ridefinito la stessa funzione, io.e., Sound (), per sovrascrivere la sua definizione di classe base. Allo stesso modo, nell'altra classe derivata, io.e., Anatra, abbiamo ridefinito la stessa funzione, io.e., suono().

Nella funzione principale (), abbiamo creato l'oggetto "cane" di "cane" e "anatra" di "anatra."Quindi, ora quando chiamiamo la funzione Sound () per cane e anatra, la versione di classe derivata della funzione Sound () chiamerà. Puoi vedere l'output del programma come mostrato di seguito. Quindi, con l'aiuto della funzione prevalente, possiamo invocare la funzione derivata specifica della classe.

#includere
Utilizzo dello spazio dei nomi std;
animale di classe

pubblico:
void Sound ()

cout << "Animal sound!" << endl;

;
// Classe derivata - Classe per cani
Cane di classe: animale pubblico

pubblico:
void Sound ()

cout << "Dog sound - bark." << endl;

;
// Classe derivata - Classe di anatra
Classe Duck: Animal pubblico

pubblico:
void Sound ()

cout << "Duck sound - quack." << endl;

;
int main ()

Cane Cane;
Anatra anatra;
cane.suono(); // Sound () del cane
anatra.suono(); // Sound () of Duck
restituzione 0;

Conclusione

In questo articolo, ho spiegato la funzione prevalente in c++. Il linguaggio C ++ supporta il polimorfismo di runtime. La prevalenza della funzione aiuta a ottenere il polimorfismo di runtime in c++. Questo articolo ha esaminato il concetto di funzione di prevalenza e come ottenere il polimorfismo di runtime usando la funzione di sparenza.