Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
los nombres de los parámetros no son importantes... los diferentes nombres tienen sentido para que no se confunda algo con algo...
Puede escribir algunos valores en la declaración de la función,
y otros valores en la propia función
o puede nombrar los parámetros de forma idéntica en todas partes, lo que sea más conveniente para el escritor de código
En el mismo libro de texto, el código apareció:
Es extraño lo del constructor:
¿Por qué hay un operador de retorno aquí?Es la primera vez que veo que se utiliza este operador en el constructor. De hecho, el constructor se llama automáticamente. Y habrá una salida de todos modos. ¿Tiene sentido este operador en el constructor?
En el mismo libro de texto, el código apareció:
Es extraño lo del constructor:
¿Por qué hay un operador de retorno aquí?Es la primera vez que veo que se utiliza este operador en el constructor. De hecho, el constructor se llama automáticamente. Y habrá una salida de todos modos. ¿Tiene sentido este operador en el constructor?
No es necesario en este ejemplo, pero puede haber una inicialización compleja cuando se necesita una salida temprana.
El constructor y el destructor son funciones normales. Sólo el constructor y el destructor por defecto son llamados automáticamente. Los demás son llamados por el usuario.
El libro de texto da este ejemplo en relación con el polimorfismo:
Hay una cosa que no entiendo. Si utilizamos objetos de función hijos para las llamadas, es decir, los métodos derivados CCircle y CSquare, entonces el área de GetArea() puede ser calculada saltándose las declaraciones en la clase base. Es decir, no crear funciones virtuales en la clase base en absoluto, y en los métodos derivados crear un método simple y ya está. Entonces, ¿por qué necesitamos una función virtual?
Es interesante ver un ejemplo adecuado y lógico, en el que se puede ver que las funciones virtuales aportan algún beneficio. Porque lo que vi no era lógico, al menos para mí. Me gustaría entenderlo igualmente.
El libro de texto da este ejemplo en relación con el polimorfismo:
Hay una cosa que no entiendo. Si utilizamos objetos de función hijos para las llamadas, es decir, los métodos derivados CCircle y CSquare, entonces el área de GetArea() puede ser calculada saltándose las declaraciones en la clase base. Es decir, no crear funciones virtuales en una clase base en absoluto, y en los métodos derivados crear un método simple y ya está. Entonces, ¿por qué necesitamos una función virtual?
Es interesante ver un ejemplo adecuado y lógico, en el que se ve que las funciones virtuales aportan algún beneficio. Porque lo que vi no era lógico, al menos para mí. Me gustaría entenderlo igualmente.
Esta es la muestra más sencilla para entender el polimorfismo. Para conseguirlo rápidamente.
Hay casos complicados. Lo aplicará cuando lo necesite. No tiene sentido molestarse ahora. Cuando la tarea esté hecha, tendrás que pensar en ella.
Por ejemplo, tengo una clase base con todas las interfaces de lectura/escritura posibles. También tiene métodos virtuales privados (2 en total - lectura/escritura), que vinculan esta interfaz en la clase base con las clases derivadas. En realidad las clases derivadas pueden ser cualquiera donde haya trabajo con archivos (archivos, mapeo, canales, internet). Cada una de las clases derivadas define estos métodos virtuales de forma diferente, pero todas las clases tienen la misma interfaz de la clase base.
El libro de texto da este ejemplo en relación con el polimorfismo:
Hay una cosa que no entiendo. Si utilizamos los objetos de la función hija para las llamadas, es decir, los métodos derivados CCircle y CSquare, entonces el área de GetArea() se puede calcular omitiendo las declaraciones en la clase base. Es decir, no crear funciones virtuales en la clase base en absoluto, y en los métodos derivados crear un método simple y ya está. Entonces, ¿por qué necesitamos una función virtual?
Es interesante ver un ejemplo adecuado y lógico, en el que se ve que las funciones virtuales aportan algún beneficio. Porque lo que vi no era lógico, al menos para mí. Quiero entenderlo igualmente.
Intentaré esbozar una pequeña muestra:
Gracias a esta estructura, no necesitaremos entrar en el algoritmo de trabajo, que puede ser muy grande y complejo (todo está simplificado aquí), sólo tendremos que añadir un descendiente más, m3 en la enumeración y un caso más en el interruptor. Es decir, hemos unificado los datos de entrada, lo que evitará la edición en la parte principal del programa.
Por supuesto, esto sólo será apropiado si el algoritmo de trabajo acepta una variedad de tipos como entrada. Si sólo hay un tipo, todo esto es inútil.
El libro de texto da este ejemplo en relación con el polimorfismo:
Hay una cosa que no entiendo. Si utilizamos objetos de función hijos para las llamadas, es decir, los métodos derivados CCircle y CSquare, entonces el área de GetArea() puede ser calculada saltándose las declaraciones en la clase base. Es decir, no crear funciones virtuales en una clase base en absoluto, y en los métodos derivados crear un método simple y ya está. Entonces, ¿por qué necesitamos una función virtual?
Es interesante ver un ejemplo adecuado y lógico, en el que se puede ver que las funciones virtuales aportan algún beneficio. Porque lo que vi no era lógico, al menos para mí. Me gustaría entenderlo igualmente.
He aquí un ejemplo sencillo:
Utilizamos la función GetArea() sin saber a qué forma se llama.Tengo este colocador en una clase:
El compilador generalmente está luchando contra esta asignación de elementos a la matriz ColorBySend así:
¿Qué tiene esto que ver? ¿Es realmente necesario asignar valores elemento por elemento? ¿No es posible hacerlo como una lista? ¿Con qué está relacionado? Después de todo, así es como funciona la tarea incluso en el libro de texto...Tengo este colocador en una clase:
El compilador jura esta asignación de elementos al array ColorBySend en general así:
¿Qué tiene esto que ver? ¿Es realmente necesario asignar valores elemento por elemento? ¿No es posible hacerlo como una lista? ¿Qué tiene que ver? Después de todo, así es como se hace la asignación incluso en el libro de texto...es una expresión variable que el compilador no puede entender. Ay.