Questão
ID 663577Disciplina: Tecnologia da Informação
Assunto: C e C++
Ano: 2001 Banca: CESPE CEBRASPE - Centro de Seleção e de Promoção de Eventos UnB Órgão: Empresa de Processamento de Dados da Previdência Social
Texto CE-I – questões 26 e 27
O trecho de código abaixo foi desenvolvido utilizando-se a linguagem C++, padrão ANSI/ISO C++. Nesse código, são apresentadas diversas ferramentas úteis no desenvolvimento de componentes de software reutilizável e extensível dentro da filosofia de concepção orientada a objetos.
- template<class T, class U> class A
- {
- ___public:
- ______virtual A<T,U>& operator=(const A<T,U>&) = 0;
- ______virtual bool put(T&,U&) = 0;
- ______virtual const T& get(U&) const = 0;
- ___protected:
- ______virtual void resize(int) = 0;
- ___private:
- ______T *Elements;
- ______U *Index;
- };
- template<class T> class B : public A<T,int>
- {
- ___public:
- ______B(int dim);
- ______A<T,int>& operator=(const A<T,int>&);
- ______bool put(T&, int&);
- ______const T& get(int&) const;
- ______bool put(T&);
- ___protected:
- ______void resize(int);
- };
- void f_main(double &d, int &i)
- {
- ______B<double> b (10);
- ______B<double> c = b; c.put (d, i);
- ______double e = b.get(i);
- _______________c.put(d);
- ______A<double,int> *a = &b; a->put(d,i);
- ________________________a->get(i);
- ________________________a->put (d);
- }
A partir do texto CE-I e com base no padrão ANSI/ISO C++, julgue os itens a seguir, com relação às ferramentas de desenvolvimento orientado a objetos encontradas na linguagem C++.
A redefinição/definição, a sobrecarga de funções e a substituição de funções são mecanismos utilizados em um ambiente orientado a objetos para promover a evolução, a extensão e o reúso eficiente de componentes de software. Porém, no trecho de código mostrado, devido às relações estabelecidas entre as classes A<T,U> e B<T>, não é possível encontrar nenhum uso desses mecanismos.