C++Resolución de sobrecarga


Observaciones

La resolución de sobrecarga ocurre en varias situaciones diferentes

  • Llamadas a funciones sobrecargadas con nombre. Los candidatos son todas las funciones encontradas por búsqueda de nombre.
  • Llamadas a objeto de clase. Los candidatos suelen ser todos los operadores de llamada de función sobrecargados de la clase.
  • Uso de un operador. Los candidatos son las funciones de operador sobrecargadas en el ámbito del espacio de nombres, las funciones de operador sobrecargadas en el objeto de la clase izquierda (si existe) y los operadores integrados.
  • Resolución de sobrecarga para encontrar la función de operador de conversión correcta o el constructor a invocar para una inicialización
    • Para la inicialización directa no de lista ( Class c(value) ), los candidatos son constructores de Class .
    • Para la inicialización de copia no de lista ( Class c = value ) y para encontrar la función de conversión definida por el usuario para invocar en una secuencia de conversión definida por el usuario. Los candidatos son los constructores de Class y si la fuente es un objeto de clase, su operador de conversión funciona.
    • Para la inicialización de una no clase desde un objeto de clase ( Nonclass c = classObject ). Los candidatos son las funciones del operador de conversión del objeto inicializador.
    • Para inicializar una referencia con un objeto de clase ( R &r = classObject ), cuando la clase tiene funciones de operador de conversión que producen valores que pueden vincularse directamente a r . Los candidatos son tales funciones de operador de conversión.
    • Para la inicialización de lista de un objeto de clase no agregado ( Class c{1, 2, 3} ), los candidatos son los constructores de la lista de inicializadores para una primera pasada a través de la resolución de sobrecarga. Si esto no encuentra un candidato viable, se realiza un segundo paso a través de la resolución de sobrecarga, con los constructores de Class como candidatos.

Resolución de sobrecarga Ejemplos relacionados