Diferenciar funções da classe com uma global

Postado por: Mounter  ||  Categoria: C/C++, Linguagens
Em um belo dia você está criando uma classe e ao criar o nome de uma das funções você se depara com uma funções global de mesmo nome e quer chama-lá - a função global - na sua classe, o que você faria?

Bem, você poderia usar algum argumento para diferencia-la, mas e se a funções tiver parametros iguais?

Aqui está a explicação, você pode usar o mesmo sinal de chamamento de funções de classes, classe::funcao, mas só que desta vez você não usa o nome dá classe, somente faço isso ::funcao(parametro, 1); e a função global será chamada. Abaixo você poderá conferir um exemplo do que estou falando.


int funcao(int i)
{
return i+1;
}

class teste
{
int funcao(int i) { return i + 2; }
public:
teste() {
int i1 = funcao(1);
int i2 = ::funcao(1);

std::cout << "Função da classe: " << i1 << std::endl;
std::cout << "Função global: " << i2 << std::endl;
}

~teste() {}
}

Se você gostou deste artigo, então veja estes...

Reliable Software by Mounter on May 17th, 2008
Para quem está interessado em querer avançar mais no C++ e aprender como encapsular funções de criação de Janelas no Windows, poderá visitar o site .

XML no C/C++ by Mounter on May 29th, 2008
Para quem está querendo saber como manipular XML no C/C++ existem diversas bibliotecas que podemos usar e todas eles sendo de código fonte aberto.

FoosYerDoos - Aprenda sobre a WinAPI by Mounter on June 12th, 2008
Para que busca aprender a mexer com a WinAPI usando C++, aqui está um excelente site sobre o assunto.

Oficina de Programação by Mounter on June 11th, 2008
Para quem busca se aperfeiçoar ainda mais na sua programação principalmente em C/C++ e os métodos mais usados, aqui recomendo outro site que serve como uma Oficina de Programação.

Templates no C++ by Mounter on June 10th, 2008
Sendo uns dos recursos mais interessantes do C++, os templates podem ser muito úteis pois podem ter os mais diversos usos.

Leave a Reply