Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi a diferença de usar o (.) para usar o (::)

Não entendi a diferença de usar o (.) para usar o (::).

No caso um ponto(.) é usado para chamar a função de um objeto, e o outro (::) para construir a função apartir de um tipo?

1 resposta
solução!

Olá João,

A sua dúvida é muito comum para quem ta iniciando em C++. A diferença entre o . (ponto) e o :: (operador de resolução de escopo) está no contexto de uso.

  • Ponto

É usado para acessar membros (métodos ou atributos) de um objeto.

MinhaClasse obj;
obj.minhaFuncao();  // Aqui usamos o ponto para chamar a função a partir de um objeto
  • ::

Esse operador é usado para acessar membros estáticos ou funções fora da classe, ou para definir funções da classe fora do corpo dela.

class MinhaClasse {
public:
    void minhaFuncao();
};

// Fora da classe
void MinhaClasse::minhaFuncao() {
    // Lógica 
}

Elementos estáticos

class MinhaClasse {
public:
    static int contador;
};

int MinhaClasse::contador = 0;  

Insira aqui a descrição dessa imagem para ajudar na acessibilidade