Magna Concursos
282912 Ano: 2006
Disciplina: TI - Desenvolvimento de Sistemas
Banca: CESPE / CEBRASPE
Orgão: CENSIPAM

template <class Parametro>
class Singleton {
private:
Singleton();
static Parametro *instancia;
public:
static Parametro *instanciar();
};

template <class Parametro>Parametro*
Singleton<Parametro>::instancia = 0;

template <class Parametro>Parametro*
Singleton<Parametro>::instanciar () {
if (instancia == NULL)
instancia = new Parametro;
return instancia;
}

class CntrAutenticacao:public Controladora {
private:
CntrAutenticacao(){}
public:
void executar();

friend class Singleton<CntrAutenticacao>;
};

Julgue o item subseqüente, com relação ao código acima em C++.

A classe “CntrAutenticacao” não pode ser instanciada por código que não faça parte dos métodos membros da própria classe ou do método “instanciar” da classe “Singleton”; a classe “Singleton” é uma classe “template” que possibilita a implementação do padrão de projeto “Singleton”; há um erro de sintaxe, pois o atributo “instancia” é inicializado fora da classe onde é declarado.

 

Provas

Questão presente nas seguintes provas

Analista de Suporte - Informática

120 Questões

Analista Gerencial - Informática

120 Questões