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
Qué bueno es poder leer... :)
Tampoco es un mal enfoque, aunque según he entendido ambos enfoques están diseñados para enviar/leer un solo parámetro (aunque de diferentes tipos).
Pero, ¿cómo resolver el problema, cuando tienes muchos parámetros y no puedes ponerlos todos en una clase base?
Según tengo entendido, hay que introducir un índice del parámetro que se pasa (también se puede crear un array en una clase con los parámetros almacenados por índice)...
Yo tampoco lo entiendo...
En mi ejemplo hay un índice, sólo que no es numérico de forma explícita, sino un enum....
Olvídalo, no vale la pena.
Interesting:
En general, tras un debate sobre el problemahttps://www.mql5.com/ru/forum/3566/page6#comment_58280 envió una solicitud a la RE.
1. No lo sé, no lo sé.
No creo que los desarrolladores tomen ciertas medidas, sacrificando la funcionalidad en aras de la seguridad (y con razón por un lado).
Informando.
La aplicación era así:Sugerencia:
1. Aclarar la sección "Polimorfismo" del manual "Polymorphism" en cuanto a la especificación de cómo rellenar correctamente los array shapes[10] con instancias de clases derivadas de CShape (dar un ejemplo).
2. Comprobar si la cadena está escrita correctamente:
3. Explique si hay que poner o no corchetes inmediatamente después del nombre de la clase que se declara cuando se declaran clases:
clase CShape{};
class CCircle{} :public CShape
class CSquare{} :public CShape
Respuesta:
Se añadirá una descripción ampliada a la Ayuda, aquí hay un extracto de la misma:
Suponemos que nuestro programa utiliza objetos de diferentes tipos (CCircle y CSquare) pero heredados de un tipo base CShape. El polimorfismo nos permite crear un array de objetos de tipo base CShape, pero cuando declaramos este array, los objetos en sí siguen siendo desconocidos y su tipo es indefinido.
La decisión de qué tipo de objeto contendrá cada elemento del array se tomará durante la ejecución del programa. Esto implica la creación dinámica de objetos para las clases correspondientes y, por tanto, la necesidad de utilizar punteros a objetos en lugar de los propios objetos.
Para crear objetos dinámicamente, se utiliza el operador new; cada uno de estos objetos debe ser eliminado de forma independiente y explícita por el operador delete. Por lo tanto, declararemos un array de punteros de tipo CShape y crearemos un objeto del tipo requerido para cada uno de sus elementos(nuevo_nombre_clase), como se muestra en el script de ejemplo:
Tenga en cuenta que al eliminar un objeto con el operador delete, debe comprobar el tipo de su puntero. Sólo puede eliminar objetos con puntero POINTER_DYNAMIC, obtendrá un error para punteros de otro tipo.
Gracias por el post, hemos corregido №2 y №3. Estará en las nuevas versiones de la ayuda
Pregunta. La biblioteca estándar utiliza las siguientes líneas
El Manual de Referencia dice: " el especificador const no es aplicable a los miembros de estructuras y clases". ¿Qué significa el uso de const en un método de la clase anterior y cuáles son las reglas para utilizarlo en estos casos?
Yedelkin:
...............
¿Qué significa el uso anterior de const en un método de clase y cuáles son las reglas para utilizarlo en estos casos?
Pregunta. La biblioteca estándar utiliza las siguientes líneas
El Manual de Referencia dice: " el especificador const no es aplicable a los miembros de estructuras y clases". ¿Qué significa el uso de const en un método de la clase anterior y cuáles son las reglas para utilizarlo en estos casos?
Una cosa es un miembro de una estructura/clase y otra un método.
Un método descrito como const significa que no cambia el estado/miembros de su clase. Es decir, después de llamar a un método de este tipo, el estado interno de la clase permanece inalterado. Se utiliza para indicar adicionalmente al compilador que compruebe los intentos de modificación de los miembros de la clase.
Una cosa esuna estructura/miembro de clase y otra un método.
Un método descrito como const significa que no cambia el estado/miembros de su clase. Es decir, el estado interno de la clase no cambia después de llamar a este método. Se utiliza para indicar adicionalmente al compilador que compruebe los intentos de modificar los miembros de la clase.
Vaya. Gracias. Y me devané los sesos.
Por cierto, una pregunta lógica ya que estamos en el tema... ¿no hay manual y no se espera?
¿Cómo se puede utilizar? Porque los hilos no interactúan entre sí,
Si los datos pudieran ser transferidos libremente entre hilos, entonces, sí, habría necesidad de tal instrucción.
Buenas tardes.
Una pregunta así.
En el código anterior
¿Qué hice mal o es generalmente inalcanzable en MT5?
Quiero (como creo que es obvio) - obtener nombres anulados en las variables de nombre de archivo...