C ++ est un dans la nature et il se vante de diverses caractéristiques. Dans cette session, nous discuterons de la façon d'implémenter la surcharge de fonction et le remplacement de fonction en C ++.
Les pointeurs suivants seront traités dans cet article,
Passer à cet article sur la surcharge et le remplacement de fonctions en C ++
Surcharge de fonction
Les fonctions ayant le même nom mais des paramètres différents sont autorisées en C ++ et sont appelées Surcharge de fonction . Il est également appelé polymorphisme à la compilation.
Par exemple:
somme (int a, flottant b) somme (int a, int b) somme (int a, int b, int c)
Ici, il y a trois fonctions avec le même nom mais la seule chose qui les différencie est que les paramètres sont différents sur chacune. Ainsi, en fonction des paramètres passés, une fonction est appelée.
Si les types de retour des fonctions sont différents, cela est considéré comme non valide.
Passer à cet article sur la surcharge et le remplacement de fonctions en C ++
Exemple de code pour la fonction de surcharge
include using namespace std class Addition {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (void) {Addition un cout<Production
somme des chiffres en java
Explication
Dans le programme ci-dessus, nous avons deux fonctions dans la classe d'addition. Les deux nommés add. L'un a 2 paramètres et l'autre 3 paramètres.
Dans la fonction principale, nous créons un objet d'ajout de classe appelé a. Nous appelons les fonctions add avec respectivement 2 et 3 paramètres et les fonctions add sont appelées et elles effectuent l'addition.
C'est ainsi que s'effectue la surcharge de fonction.
Passer à cet article sur la surcharge et le remplacement de fonctions en C ++
Remplacement de fonction
Lorsqu'une classe dérivée a une fonction avec le même nom qu'une fonction de la classe de base, elle est appelée Remplacement de fonction. Les deux fonctions doivent avoir les mêmes paramètres dans les deux classes.
Exemple de code pour le remplacement de fonction
#include en utilisant l'espace de noms classe std BaseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 }Production:
Explication:
Dans le programme ci-dessus, nous montrons la fonction de base, avec le même nom dans la classe dérivée et la classe de base. Ici, l'objet est créé à partir de la classe dérivée. Ainsi, lorsque nous appelons display, seul l'objet de classe enfant est affiché.
Passer à cet article sur la surcharge et le remplacement de fonctions en C ++
Ordre pour effectuer le remplacement
Considérez le code:
#include en utilisant l'espace de noms classe std BaseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 }Production:
Explication:
Dans le programme ci-dessus, nous montrons la fonction de base, avec le même nom dans la classe dérivée et la classe de base. Ici, la seule différence avec le programme précédent est que. Nous créons l'objet de la classe enfant. L'objet de classe enfant reçoit la référence de la classe de base. Cela peut également être fait en utilisant une autre méthode,
Syntaxe
Parent_class_name :: function ()Dans l'exemple ci-dessus, nous l'utilisons comme,
BaseClass :: disp ()C'est une autre façon de passer outre.
comment faire une alerte en javascriptSurcharge de fonction VS Remplacement de fonction
Surcharge de fonction Remplacement de fonction La portée est la même La portée est différente Les signatures doivent différer (ex: paramètre) Les signatures doivent être identiques Nombre de fonctions de surcharge possibles Une seule fonction prioritaire possible Peut se produire sans héritage Cela se produit principalement en raison de l'héritage Ainsi, nous sommes arrivés à la fin de cet article sur «Surcharge et remplacement de fonctions en C ++». Si vous souhaitez en savoir plus, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Spring.
Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog et nous vous répondrons dans les plus brefs délais.