C ++ és un fitxer a la natura i té diverses característiques. En aquesta sessió discutirem com implementar la sobrecàrrega de funcions i la substitució de funcions a C ++.
Els següents indicadors es tractaran en aquest article,
Continuem amb aquest article sobre la sobrecàrrega i la substitució de funcions a C ++
què és la serialització a Java
Funció de sobrecàrrega
Les funcions que tenen el mateix nom però paràmetres diferents es permeten a C ++ i s’anomena Funció de sobrecàrrega . També s’anomena polimorfisme en temps de compilació.
Per exemple:
suma (int a, float b) suma (int a, int b) suma (int a, int b, int c)
Aquí hi ha tres funcions amb el mateix nom, però l'únic que les diferencia és que els paràmetres són diferents per a cadascuna. Per tant, en funció dels paràmetres passats, s’anomena una funció.
Si els tipus de retorn de les funcions són diferents, es considerarà invàlid.
Continuem amb aquest article sobre la sobrecàrrega i la substitució de funcions a C ++
Codi de mostra per a la funció de càrrega excessiva
incloure l'ús de l'espai de noms classe std Addició {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<Sortida
Explicació
Al programa anterior, tenim dues funcions a la classe d'addició. Tots dos anomenats add. Un té 2 paràmetres i l’altre té 3 paràmetres.
A la funció principal, creem un objecte d'addició de classe anomenat a. Anomenem funcions add amb 2 i 3 paràmetres respectivament i les funcions add es diuen i realitzen addició.
Així es produeix la sobrecàrrega de la funció.
Continuem amb aquest article sobre la sobrecàrrega i la substitució de funcions a C ++
Substitució de funcions
Quan una classe derivada té una funció amb el mateix nom que una funció de la classe base, s’anomena Substitució de funcions. Les dues funcions han de tenir els mateixos paràmetres a les dues classes.
estableix el camí de java a WindowsCodi de mostra per a la substitució de funcions
#include using namespace std class 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 }Sortida:
Explicació:
Al programa anterior, mostrem la funció bàsica, amb el mateix nom a la classe derivada i base. Aquí es crea l'objecte de la classe derivada, de manera que quan cridem visualització només es mostra l'objecte de classe fill.
Continuem amb aquest article sobre la sobrecàrrega i la substitució de funcions a C ++
Ordre de realitzar la substitució
Penseu en el codi:
#include using namespace std class 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 }Sortida:
Explicació:
Al programa anterior, mostrem la funció bàsica, amb el mateix nom a la classe derivada i base. Aquí, l’única diferència respecte al programa anterior és que. Creem l'objecte de la classe infantil. A l’objecte classe infantil se li dóna la referència de classe base. Això també es pot fer mitjançant un altre mètode,
Sintaxi
Parent_class_name :: function ()A l'exemple anterior, el fem servir com:
funció de membre estàtic c ++BaseClass :: disp ()Aquesta és una altra manera de superar.
Funció Sobrecàrrega VS Funció anul·lació
Funció Sobrecàrrega Substitució de funcions L’abast és el mateix L’abast és diferent Les signatures han de diferir (ex: paràmetre) Les signatures han de ser iguals Nombre de funcions de sobrecàrrega possibles Només és possible una funció primordial Pot produir-se sense herència Es produeix principalment per herència Per tant, hem arribat al final d’aquest article sobre ‘Sobrecàrrega i anul·lació de funcions a C ++’. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes Java bàsics com avançats, juntament amb diversos marcs Java com Hibernate & Spring.
Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.