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
O novo operador cria uma instância da classe e um construtor é chamado em conjunto com ela. Está escrito na sintaxe, por isso não há outra forma de lhe chamar.
Procedi a partir deste exemplo:
Grosso modo, não há aqui parênteses (chamada do construtor). É possível que eu ainda não esteja a compreender alguma coisa.Este código quase não é diferente de herança múltipla.
Na verdade, a classe C_C tem acesso aos dados de C_A e C_B através de indicadores apropriados.Baseei-me neste exemplo:
Aqui, grosso modo, não há parênteses (chamadas de construtores). É possível que eu ainda não compreenda alguma coisa.Porquê eu, não é para mim, é para a lavandaria central, eu não usei parênteses :o)
O meu compilador não se queixa de parênteses em falta...
Seja como for, surgiu subitamente uma questão: qual é o caminho certo? Ou não faz diferença se existem ou não parênteses?
O meu compilador não se queixa de parênteses em falta...
De qualquer forma, surgiu subitamente uma questão: qual é a forma correcta de o fazer? Ou não faz diferença se existem ou não parênteses?
Se funciona nos dois sentidos, é antes uma questão de unificação de sintaxe. O principal é que isso não afecta a velocidade.
ZS E funciona de todo? Para ser honesto, não verifiquei, escrevo sempre com parênteses.
Se funciona nos dois sentidos, é mais uma questão de unificação de sintaxe. O principal é não afectar a velocidade.
ZS Será que funciona? Para ser honesto, ainda não verifiquei, escrevo sempre com parênteses.
Não li a descrição da criação dinâmica de objectos de classe em MQL5, mas em C++ é possível fazê-lo sem parênteses (chama-se construtor padrão) e com parênteses (chama-se construtor dependendo dos parâmetros entre parênteses). Exemplo:
class CExample
{
int param;
public:
CExample();
CExample(int x);
~CExample();
}
CExample::CExample(int x)
{
param = x;
}
//..........вызов..............
//..где-то в тексте программы..
CExample *ex1 = new CExample; //создание с конструктором CExample();
CExample *ex1 = new CExample(); //создание с конструктором CExample();
CExample *ex1 = new CExample(value); //создание с конструктором CExample(int x);
Em mql5 nenhum parâmetro pode ainda ser passado para o construtor.
Não li a descrição da criação dinâmica de objectos de classe em MQL5, mas em C++ é possível fazê-lo sem parênteses (chama-se construtor padrão) e com parênteses (chama-se construtor dependendo dos parâmetros entre parênteses). Exemplo:
Já percebi, obrigado pela explicação simples e directa. Acontece que os parênteses são para possíveis parâmetros.
E a descrição de como criar objectos dinâmicos de classe em MQL5 é muito concisa:
Referência MQL5 / Noções básicas de linguagem / Operadores / Operador de criação de objectos novo
Referência MQL5 / Noções básicas de linguagem / Tipos de dados / Apontadores de objectos