C ++ é um na natureza e possui vários recursos. Nesta sessão, discutiríamos como implementar a sobrecarga de função e a substituição de função em C ++.
As dicas a seguir serão abordadas neste artigo,
Continuando com este artigo sobre sobrecarga e substituição de funções em C ++
Sobrecarga de função
Funções com o mesmo nome, mas parâmetros diferentes são permitidas em C ++ e são chamadas Sobrecarga de função . Também é chamado de polimorfismo em tempo de compilação.
Por exemplo:
soma (int a, float b) soma (int a, int b) soma (int a, int b, int c)
Aqui, existem três funções com o mesmo nome, mas a única coisa que as diferencia é que os parâmetros são diferentes em cada uma. Portanto, dependendo dos parâmetros passados, uma função é chamada.
ordenar array c ++ ascendente
Se os tipos de retorno das funções forem diferentes, ele será considerado inválido.
Continuando com este artigo sobre sobrecarga e substituição de funções em C ++
Código de amostra para função sobre carregamento
incluir o uso de namespace std class Adição {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 um cout<Resultado
Explicação
No programa acima, temos duas funções na classe de adição. Ambos nomeados add. Um possui 2 parâmetros e o outro possui 3 parâmetros.
Na função principal, criamos um objeto de adição de classe chamado a. Chamamos as funções add com 2 e 3 parâmetros respectivamente e as funções add são chamadas e realizam a adição.
É assim que ocorre a sobrecarga da função.
Continuando com este artigo sobre sobrecarga e substituição de funções em C ++
Substituição de função
Quando uma classe derivada tem uma função com o mesmo nome de uma função da classe base, ela é chamada Substituição de função. Ambas as funções devem ter os mesmos parâmetros em ambas as classes.
Código de amostra para substituição de função
#include usando 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 }Resultado:
Explicação:
No programa acima, mostramos a função básica, com o mesmo nome na classe derivada e na classe base. Aqui, o objeto é criado a partir da classe derivada, portanto, quando chamamos display, apenas o objeto da classe filha é exibido.
Continuando com este artigo sobre sobrecarga e substituição de funções em C ++
Ordem para realizar a substituição
Considere o código:
#include usando 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 }Resultado:
Explicação:
No programa acima, mostramos a função básica, com o mesmo nome na classe derivada e na classe base. Aqui, a única diferença em relação ao programa anterior é isso. Criamos o objeto da classe filha. O objeto da classe filha recebe a referência da classe base. Isso também pode ser feito usando outro método,
Sintaxe
Parent_class_name :: function ()No exemplo acima, nós o usamos como,
arquitetura mvc em java com exemploBaseClass :: disp ()Esta é outra maneira de substituir.
Sobrecarga de função VS Função de substituição
Sobrecarga de função Substituição de função O escopo é o mesmo O escopo é diferente As assinaturas devem ser diferentes (ex: parâmetro) As assinaturas devem ser as mesmas Número de funções de sobrecarga possíveis Apenas uma função de substituição possível Pode ocorrer sem herança Ocorre principalmente devido à herança Assim, chegamos ao fim deste artigo sobre ‘Sobrecarga e substituição de funções em C ++’. Se você deseja saber mais, confira o pela Edureka, uma empresa de aprendizagem online confiável. O curso de certificação e treinamento em Java J2EE e SOA da Edureka foi projetado para treiná-lo tanto para conceitos básicos quanto avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.
Tem alguma questão para nós? Mencione isso na seção de comentários deste blog e entraremos em contato com você o mais breve possível.