“Conocimiento Programación>C /C + + Programming

Redefinir métodos en C + +

2012/8/14
En circunstancias normales , los métodos en C + + no pueden compartir un nombre. Esto provoca errores al introducir la posibilidad de confusión en referencias a métodos. Un programador que desea utilizar el mismo nombre para un método , pero que redefinir el método sobre la base de diferentes parámetros , tiene dos opciones . El programador puede sobrecargar la función con el mismo nombre, pero cambiando los argumentos del método. También , si el programador está utilizando una clase derivada él o ella puede reemplazar una función de una clase base para llevar a cabo diferentes funciones . Sobrecarga de Métodos

vez un programador declara un método , ese nombre por lo general no se puede designar a otro método con el código diferente en su interior. La exclusión a esto es cuando los argumentos del método difieren . Por ejemplo , un programador puede definir el método de " calcular " para tomar un entero como argumento :

int calcular ( int x )

De acuerdo con las reglas de C + + , otro método llamado " calcular " que tiene un número entero como argumento no podría existir , independientemente del código dentro del método . Sin embargo , otro método con el mismo nombre y diferentes argumentos podría existir :

int calcular (double x )

El tipo o argumento cuando se llama al método sería decidir qué método se ejecuta
. existen
Limitaciones

limitaciones en cuanto a cómo la sobrecarga de métodos obras en C + + . Para sobrecargar un nombre de método , los argumentos deben utilizar diferentes tipos de datos , o difieren en la cantidad de argumentos designados. Los métodos que devuelven valores diferentes , pero que comparten un nombre y una lista de argumentos idénticos, no están permitidos en C + + . Tampoco se permiten métodos con el mismo nombre y argumentos que sólo se diferencian por un nombre de tipo diferente ( o dar un tipo de datos existente un nombre diferente) . Por ejemplo :

typdef int fake_int ;

escritura int ( int x )

doble write ( int x )

escritura int ( fake_int x)

Ninguna de estas tres definiciones de método sigue las reglas de la sobrecarga de métodos y devolverá un error.
Derivación

Otra manera de sobrecargar un método es a través de derivación de clase . Cuando la construcción de clase , un programador puede hacer que una clase hereda la funcionalidad de otra clase . La clase que hereda (derivado ) puede utilizar los métodos de la clase que hereda de (clase base) . Una clase base ( clase X) podría tener un método "print" definido. Otra clase (clase Y) que se deriva de la clase X también tiene acceso a la prensa . Sin embargo , la clase Y también puede definir su propia versión del método de impresión. En este caso, el método de impresión ejecutada será el definido en la clase Y, a menos que el programador especifica que la versión de la clase X de impresión debe ejecutar.
Ejemplos

un ejemplo de un método redefinido a través de una clase derivada implica dos clases . En primer lugar, la clase base :
clase

First (

público :

int x;

int returnX () {

regreso x;

}

} ;

Entonces , una clase derivada que redefine el " returnX ()" método :
clase

segundo: Primero pública {

público :

int returnX () { return x

1 ;

}

} ;
< p > la clase "II " tiene acceso a la variable "x" y el método " returnX ()" que forman parte de la clase "First" . Sin embargo , Second redefine el método returnX () en su propia definición. Esto significa que cuando un objeto de segunda clase llama al método returnX (), el valor devuelto será x 1 .

C /C + + Programming
Mostrar un mensaje en C + +
Cómo escribir un programa en C para imprimir una serie de Sines
Cómo Video Stream en XCode
Cómo ordenar en Turbo C + +
Cómo eliminar un carácter de nueva línea en C
Cómo ejecutar archivos C + + en el Bloc de notas
¿Cómo funciona la memoria temporal?
¿Qué es el código de ensamblaje y cómo se usa en la programación de computadoras?
Conocimiento de la computadora © http://www.ordenador.online