Discussão:Singleton
Adicionar tópicoÚltimo comentário: 18 de novembro de 2011 de Luís Felipe Braga no tópico Reversão
Este artigo foi avaliado automaticamente com qualidade 2 e faz parte do âmbito de um WikiProjeto: Ciência. | ||
---|---|---|
Para o WikiProjeto Ciência este artigo possui importância ainda não avaliada. Se você se interessa pelo assunto, visite o projeto para conhecer as tarefas e discussões em curso. | ||
Se não tiver suas questões respondidas nesta página de discussão procure o(s) wikiprojeto(s) acima. |
Não compreendi, na versão anterior, a implementação em C++. Na verdade eu acredito que ela não funcionaria pois, aparentemente, o objeto instance (MyClass) não guardaria informação útil pois a atribuição *instance = 0 dentro da função getInstance() esta errada...
Abaixo segue o código, que na minha opinião, está de acordo com a intenção do Singleton:
Em C++[editar código-fonte]
class MyClass
{
private:
// atributo estático da "instância única"
static MyClass *instance = 0; //Coloquei o ponteiro como um atributo de classe...
//construtor privado, não pode ser utilizado fora da classe
MyClass() {}
public:
// Função-membro que retorna sempre a mesma instância do objeto
static MyClass& getInstance()
{
/* static MyClass *instance = 0; ---> ERRO! Não sei nem se compila!!!! */
if (!instance) instance = new MyClass();
return *instance;
}
};
--Luiz Le Roy (discussão) 21h14min de 11 de março de 2011 (UTC)
Reversão[editar código-fonte]
Reverti pois usuário copiou textos de [gilmarborba.com.br/?p=478]. Luís Felipe Braga Msg 01h18min de 18 de novembro de 2011 (UTC)