Pregunta 1
Pregunta
¿A dónde apunta el puntero s1 tras la ejecución de la siguiente instrucción?
char* const s1 = "ABC";
s1++;
Pregunta 2
Pregunta
En el siguiente código, ¿qué valor tienen las variables antes de ejecutar la sentencia return?
int& min(int &a, int& b){
return (a<b) ? a : b
}
int main(){
int i=1, j=2;
min(i,j)=3;
return 0;
}
Pregunta 3
Pregunta
En el siguiente código, ¿qué valor tiene la variable arg tras la ejecución de la función f()?
void f(int param){
param=10;
}
int main(){
int arg=1;
f(arg);
}
Pregunta 4
Pregunta
void f(int *param){
param=10;
}
int main(){
int arg=1;
f(&arg);
}
Pregunta 5
Pregunta
¿A dónde apunta el puntero s1 tras la ejecución de la siguiente instrucción?
const char *s1="ABC";
s1++;
Pregunta 6
Pregunta
El lenguaje C++ solo permite la sobrecarga de funciones cuando:
Respuesta
-
se utiliza el mismo nombre de función y el mismo número de parámetros con tipos distintos
-
se utiliza el mismo nombre de función y distinto número de parámetros
-
se utiliza el mismo nombre de función y lista de parámetros distinta
-
se utiliza el mismo nombre de función y la misma lista de parámetros pero distinto valor de retorno
Pregunta 7
Pregunta
Dada la definición de la clase, ¿cual de las siguientes códigos es incorrecto para el constructor?
class dummy{
int x,y;
public:
dummy(int, int);
};
Respuesta
-
dummy::dummy(int i, int j): x(i), y(j) {}
-
dummy::dummy(int i, int j){ x=i; y=j;}
-
Todas son correctas
-
dummy::dummy(int i, int j): x(i) {y=j}
Pregunta 8
Pregunta
¿Cuál de los siguientes elementos del lenguaje C++ no permite especificar métodos?
Pregunta 9
Pregunta
Declarar un miembro protected en una clase implica:
Respuesta
-
que tiene la misma visibilidad que si fuese public y las clases derivadas lo heredan
-
que tiene la misma visibilidad que si fuese private y las clases derivadas lo heredan
-
que tiene la misma visibilidad que si fuese private y las clases derivadas no lo heredan
-
que tiene la misma visibilidad que si fuese public y las clases derivadas no lo heredan
Pregunta 10
Pregunta
Si se realiza herencia protected, los miembros public de la clase base:
Respuesta
-
son protected en la clase derivada
-
son private en la clase derivada
-
son public en la clase derivada
-
no son accesibles en la clase derivada
Pregunta 11
Pregunta
Para definir que un miembro de la clase es compartido por todas las instancias de la clase, se utiliza la palabra reservada:
Respuesta
-
inline
-
static
-
virtual
-
friend
Pregunta 12
Pregunta
Si se realiza la herencia public, los miembros private de la clase base:
Respuesta
-
no son accesibles en la clase derivada
-
son protected en la clase derivada
-
son public en la clase derivada
-
son private en la clase derivada
Pregunta 13
Pregunta
Para identificar la ocurrencia de diferentes situaciones excepciones en un mismo bloque de código, es necesario:
Respuesta
-
para cada tipo de excepción, especificar un bloque catch con un parámetro del tipo de excepción a manejar
-
anidar varios bloques try
-
lanzar la sentencia throw con varios parámetros, uno por cada tipo de excepción
-
especificar un bloque catch con varios parámetros, uno por cada tipo de excepción
Pregunta 14
Pregunta
En el lenguaje C++ la ocurrencia de una situación excepcional que requiere un tratamiento especial se invoca con la palabra clave:
Respuesta
-
try
-
throw
-
exception
-
catch
Pregunta 15
Pregunta
El código a ejecutar para manejar la ocurrencia de una excepción se encierra en un bloque:
Respuesta
-
catch
-
try
-
exception
-
throw
Pregunta 16
Pregunta
¿Qué métodos deben especificarse en toda plantilla (template)?
Respuesta
-
no hay que especificar ningún método de forma obligatoria
-
un constructor por defecto
-
un constructor de copia y el operador de asignación
-
todos los constructores, el destructor y e operador de asignación
Pregunta 17
Pregunta
En el lenguaje C++ las plantillas (template) permiten:
Respuesta
-
definir funciones y clases con tipos genéricos que se instancian en tiempo de compilación
-
reutilizar la definición de una función para alterar su comportamiento
-
definir clases abstractas de las que no se pueden crear instancias
-
definir funciones y clases con tipos genéricos que se instancian en tiempo de ejecución
Pregunta 18
Pregunta
Dada la siguiente definición de plantilla (template), ¿cuál de los siguientes usos de la plantilla es la correcta?
template<class T, int N>
class miVector{
private:
T v[N];
public:
miVector(int n);
};
Respuesta
-
int N=5;
miVector<int,5> v(N);
-
int N=5;
miVector<int, N> v(N);
-
const int N=5;
miVector<int, N> v;
-
int N=5;
miVector<int, N> v(5);
Pregunta 19
Pregunta
Al utilizar una plantilla (template), ¿cuándo no es necesario indicar el tipo genérico?
Respuesta
-
en las plantillas de funciones cuando el tipo genérico se utilice como parámetro de la función y el compilador pueda deducir el tipo sin ambigüedad
-
únicamente en las plantillas de clases cuando el compilador pueda deducir el tipo genérico sin ambigüedad
-
siempre hay que especificar el tipo de los parámetros de una plantilla
-
nunca hay que especificar los tipos al utilizar una plantilla
Pregunta 20
Pregunta
Dada la siguiente definición de plantilla (template), ¿cuál de los siguientes códigos es correcto para el constructor?
template<class T, int N>
class miVector{
private:
T v[N];
public:
miVector(int n);
};
Respuesta
-
template <class T, int N> miVector<T,N>::miVector(int n=N){ v=new T[n];}
-
template <class T, int N> miVector<T,N>::miVector(int n){ v=new T[n]{}
-
template <class T, int N> miVector(int n=N){ v=new T[N];}
-
template <class T, int N> miVector<T,N>::miVector(int n=N){}
Pregunta 21
Pregunta
Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main()?
Pregunta 22
Pregunta
Dada la siguiente definicón de clases, ¿qué valor se visualiza en la función main()?
Pregunta 23
Pregunta
Dada la siguiente definición de clases, ?qué valor se visualiza en la función main()?
Pregunta 24
Pregunta
A donde apunta el puntero s1 tras la ejecución de la siguiente secuencias:
Const char* s1="ABC";
S1++;
Respuesta
-
No se ejecuta
-
'A'
-
'C'
-
'B'
Pregunta 25
Pregunta
La clase base de las excepciones utilizadas en la librería estándar es
Respuesta
-
Exception
-
Logic_error
-
Bad_exception
Pregunta 26
Pregunta
La utilización de plantillas/template de funciones en el lenguaje C++ permite...
Respuesta
-
La definición de una familia parametrizada de funciones
-
La utilización en el código de la STL
-
La declaración de una jerarquía de clases.
-
Especificar al compilador la forma de crear una familia parametrizada de clases
Pregunta 27
Pregunta
Si se utiliza herencia public, los miembros private de la clase base:
Respuesta
-
Son private en la clase derivada
-
Son public en la clase derivada
-
No son accesibles en la clase derivada
-
Son protected en la clase derivada
Pregunta 28
Pregunta
Dada la siguiente definición de clase, ¿cuál de las siguientes sentencias no
se corresponde con una llamada correcta del constructor?
Class dummy{
Public:
Dummy(){};
};
Respuesta
-
dummy *a = new dummy;
-
dummy a();
-
dummy a;
-
Todos son correctas;
Pregunta 29
Pregunta
¿Qué elementos adminten la clausula firend?
Pregunta 30
Pregunta
El lenguaje C++ permite especificar un valor por defecto en un parámetro de una función:
Respuesta
-
Cuando todos los parámetros de la función son constantes
-
Cuando todos los parámetros siguientes en la lista también tiene valor por defecto
-
Cuando todos los parámetros de la función tiene valor por defecto.
-
Cuando todos los parámetros anteriores en la lista también tiene valor por defecto
Pregunta 31
Pregunta
Dada la siguiente definición de clases, ?qué valor se visualiza en la función main()