SóProvas


ID
2322652
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de código escrito em linguagem C++:

 # include <iostream>

 using std::cout;

 using std::cin;

 template <class T> 

 T funcao (T valor)

 { return valor;}

int main ()

 {

      TIPO a;

       cin >> a;

       cout<< funcao (a);

       return 0;

Analise as afirmativas sobre os tipos possíveis de variáveis que poderíam ser utilizados em substituição à palavra TIPO, sem causar erros de compilação, colocando entre parênteses a letra V, quando se tratar de afirmativa verdadeira, e a letra F, quando se tratar de afirmativa falsa. A seguir, assinale a alternativa que apresenta a sequência correta. 

( ) int

( ) double

( ) char

Alternativas
Comentários
  • O gabarito é a letra A.

     

    Não há restrição aos tipos nesse programa, sendo assim int, double e char podem ser utilizados em substituição à palavra TIPO. 

  • Parece bobagem, mas como não sabia nada de C++ fiquei em dúvida sobre esses sinais (>> e <<)

     

    cin >> a; Mesma coisa que: a = cin;

     

    cout<< funcao; mesma coisa que: count = funcao;

     

    Para maiores detalhes:

    http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Companion/cxx_crib/input_output.html

     

    Go ahe@d!!!

  • Prezado Marcelo Rebouças,

    No contexto da questão, não é correto afirmar que "cin >> a;" e "cout << funcao;" equivalem a "a = cin;" e "cout = funcao;" respectivamente.

    Os operadores << e >> manipulam fluxos de dados (streams), aquele refere-se ao operador de inserção e este ao de extração de dados.

    Os usos de "a = cin;" e "cout = funcao;" acarretam erros de compilação nesse contexto.

    At.te,

    Jacob Cabral