Errores, fallos, preguntas - página 1704

 
Stanislav Korotky:
Así es como debería ser, ¿no estás confundido? Tiene un especificador protegido, define los métodos como disponibles en los descendientes.
Con la herencia protegida, los métodos públicos de la clase base pasan a estar protegidos en la clase derivada.
 
Sergei Vladimirov:
Con la herencia protegida, los métodos públicos de la clase base pasan a estar protegidos en la clase derivada.
Exactamente. Accesos protegidos en la derivada.
 
Stanislav Korotky:
Exactamente. Accesos protegidos en un derivado.
Bien, haz una llamada a un método protegido desde un objeto.
 
Alexey Kozitsyn:
Sí, lo que tiene una instancia de clase después del punto y lo que tiene la propia clase después de esto.

En resumen, así:


Es bueno cuando se conocen los nombres de los métodos. ¿Y si no lo haces? ¿Debemos abrir un archivo y ver lo que hay?

Puede que a algunos les resulte conveniente, pero apenas muchos...

 
Artyom Trishkin:

¿Alguna vez Ctrl+Espacio mostró una lista de métodos disponibles?

Ctrl+Espacio funciona como siempre, al igual que Ctrl+Mayúsculas+Espacio, y no se han roto.

Son las inteligencias después del punto las que no funcionan.

La lista de miembros se abre después del punto. Construye 1430.
 
Artyom Trishkin:

En resumen, así:


Es bueno cuando se conocen los nombres de los métodos. ¿Y si no lo haces? Abra el archivo y vea lo que hay.

Puede ser conveniente para alguien, pero no creo que muchos...

¿Por qué en el área de las variables globales? Lógicamente no debería abrirse ahí porque no es necesario.

Pruébalo en OnTick, por ejemplo.

 
Alexey Volchanskiy:

¿Y por qué en el área de las variables globales? lógicamente, no debería abrirse allí en absoluto, porque no hay necesidad de

pruébalo en OnTick, por ejemplo

No hay ninguna diferencia. Es lo mismo en todas partes.
 

Esta es una matriz

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

¿cómo encontrar la reducción máxima?

¡Valor inicial 0 !
 
Estúpido. ¿Puede decirme por qué no puedo hacerlo?
class A
{
};

class B
{
  A* Data[];
  
  B()
  {
    ArrayResize(this.Data, 1);
  }

  A* operator []( const int Pos )
  {
    return(this.Data[Pos]);
  }
  
  void Init()
  {
    A* a = this[0];
    a = new A; // так работает
    
    this[0] = new A; // а так - нет
  } 
};
 
Itum:

Esta es una matriz

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

¿cómo encontrar la reducción máxima?

El valor inicial es 0.
double MIDD(double& fEquity[])
{
        double fMaxEquity = 0;
        double fMIDD = 0;
        
        for(int i = 0; i < ArraySize(fEquity); i++)
        {
                fMaxEquity = MathMax(fMaxEquity, fEquity[i]);
                fMIDD = MathMax(fMIDD, fMaxEquity - fEquity[i]); // это в деньгах,
                                                                 // если нужно в процентах, то так:
                fMIDD = MathMax(fMIDD, (fMaxEquity - fEquity[i]) / fMaxEquity * 100);
        }
        
        return fMIDD;
}
fEquity[] es su matriz.