Como substituir a comparação() em CObject para que a classificação CList() funcione? - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Além disso, isto está errado - há uma palavra-chave 'final' na MQL5.
{
//--- class body
};
class CBar : public CFoo
{
//--- class body
};
isto não deixará a CBar compilar porque o CFoo é final.
Você está errado aqui, whroeder1.
Não adicionar virtual na base fará você perder o polimorfismo - o método será chamado estaticamente e não dinamicamente em tempo de execução.
Esta foi a ressalva que o whroeder1 mencionou.
Além disso, isto está errado - há uma palavra-chave 'final' na MQL5.
1. Não é apenas uma má prática, mas exigida em todas as bases (não apenas em CObject) se o polimorfismo for exigido.
2. Ele muda as coisas - ver 1.
3. final existe.
Há também uma palavra-chave final na MQL4, embora a documentação não a mostre (que eu saiba). Possivelmente ela foi mencionada em uma atualização de compilação.
Correto!
Foi o Build 1430 para MQL5. Provavelmente na mesma época para a MQL4 com o compilador comum.
Oi, pessoal,
Estou trabalhando em uma classe exatamente como este posto, mas minha variável "pontuação" é um método. Como obter seu valor?
Este é o código desde o início do post:
Isto é o que estou tentando fazer:
A questão é, como usar getPrice() dentro do método Comparar()?
ObrigadoOi, pessoal,
Estou trabalhando em uma classe exatamente como este posto, mas minha variável "pontuação" é um método. Como obter seu valor?
Este é o código desde o início do post:
Isto é o que estou tentando fazer:
A questão é, como usar getPrice() dentro do método Compare()?
ObrigadoDeclare seu método getPrice() com a palavra chave const.
Declare seu método getPrice() com a palavra chave const.
Olá @Alain Verleyen,
Mudei o método getPrice(), inseri usando CopyClose() Estou usando CopyBuffer(). Isto não muda o objetivo principal.
Portanto, se eu usar a palavra-chave "const" no método getPrice(), um erro getPrice(): "'CopyBuffer' - nenhuma das sobrecargas pode ser aplicada à chamada de função". Acho que isto ocorre porque CopyBuffer não é um método const, e não é possível chamar o método non const dentro de um método const.