Sobrecarga de Operadores

523 palavras 3 páginas
SOBRECARGA
Sobrecarga de métodos
Sobrecarga de operadores
Fundamentos
Restrições

SOBRECARGA DE MÉTODOS / FUNÇÕES
Métodos com mesmo nome mas assinaturas diferentes: Tipos, ordem ou número de parâmetros diferentes
Métodos com a mesma assinatura não podem ter tipos de retorno diferentes
Tipo_retorno metodoX( tipo1 y);
Tipo_retorno metodoX( tipo1 y, tipo2 z);

Operador vs. friends
Estudo de casos

Tipo_retorno metodoX( tipo1 y, tipo3 w);
Tipo_retorno metodoX( tipo2 y, tipo1 z);

Compilador chama o método adequado examinando a assinatura Exemplo:

JÁ USAMOS SOBRECARGA DE MÉTODOS...
Sobrecarga de construtores
Construtor sem parâmetros/ construtor com parâmetros CONSTRUTOR DE CÓPIA
Usado sempre que uma cópia de um objeto for necessária Passagem por valor ou retorno por valor
Inicializar um objeto com uma cópia de outro
ClasseX novoObj( velhoObj ); novoObj é cópia de velhoObj

Data casamento;
Data nascimento(10,5,2010);

Protótipo para classe ClasseX
ClasseX( const ClasseX & );
Deve obter referência
Do contrário seria passagem por valor
Tenta fazer cópia chamando o construtor de cópia
Loop infinito
Muito importante quando alocação dinâmica é utilizada

SOBRECARGA DE OPERADORES
Uso de operadores c/ objetos
Utilização de operadores da linguagem para manipular objetos Clareza
Operadores são sensíveis ao contexto

FUNDAMENTOS DE SOBRECARGA DE OPERADORES
Sobrecarga apresenta uma notação mais clara e objetiva: Considere a criação de um método soma: objeto3 = objeto1.soma(objeto2);
Passando o objeto 2 para o método soma do objeto1

Exemplo objeto3 = objeto1 + objeto2;

+
Operações aritméticas (integers, floats, etc.)

=

objeto1.operator+(objeto2)

Classe matriz:
Matriz A, B, C;
C = A+B;

1

FUNDAMENTOS DE SOBRECARGA DE
OPERADORES

RESTRIÇÕES
Não se pode mudar

Sobrecarga de operadores: Como fazer?

Como os operadores trabalham com os tipos pré-definidos
Soma de inteiros deve ser sempre

Relacionados

  • sobrecarga de funçoes e operadores
    1378 palavras | 6 páginas
  • Atps
    2933 palavras | 12 páginas
  • Programação orientada a objetos
    1978 palavras | 8 páginas
  • TREINAMENTO-EM-LINGUAGEM-C-modulo2
    3286 palavras | 14 páginas
  • Linguagens de Programação
    2832 palavras | 12 páginas
  • locadora
    762 palavras | 4 páginas
  • Prensas excêntricas
    1917 palavras | 8 páginas
  • Curso C
    8298 palavras | 34 páginas
  • Ergonomia frente à inclusão de um artefato operatório
    3407 palavras | 14 páginas
  • Apostila de linguagem de programação c e c++
    559 palavras | 3 páginas