C++: Sobrecarga de operadores

Pregunta 1:

Respecto el puntero this

a) Sólo se puede usar dentro de las funciones miembro de la clase

b) Es un puntero al propio objeto donde se emplea

c) Se pasa de forma implícita como un parámetro oculto cuando se invoca una función miembro

d) Todas las respuestas son correctas

Pregunta 2:

El prototipo TCoordenada& operator++(void) corresponde a la sobrecarga del operador

a) Preincremento

b) Postincremento

c) Cualquiera de los dos

d) Las anteriores respuestas no son correctas

Pregunta 3:

Respecto a la sobrecarga del operador incremento

a) operator++(void) define la sobrecarga del operador preincremento

b) operator++(void) define la sobrecarga del operador postincremento

c) No se pueden sobrecargar el operador preincremento y postincremento a la vez para una misma clase

d) Las anteriores respuestas no son correctas

Pregunta 4:

Respecto a la sobrecarga de los operadores

a) Una vez definida la sobrecarga del operador de comparación (==), el compilador
define automáticamente el operador desigualdad (!=)


b) La sobrecarga de los operadores de entrada (>>) y salida (<<) se puede
realizar como función miembro o no miembro


c) Si el programador no define la sobrecarga del operador asignación =, el
compilador proporciona automáticamente uno


d) Las anteriores respuestas no son correctas

Pregunta 5:

La sentencia TCoordenada a=b; invoca a

a) El operador asignación

b) El constructor por defecto

c) El constructor de copia

d) Es una sentencia incorrecta

Pregunta 6:

Respecto a la sobrecarga de los operadores

a) En las funciones no miembro, el operando de la izquierda no puede ser de un tipo distinto a la clase

b) En las funciones miembro, no se puede acceder a la parte privada de la clase y se tienen que declarar como friend

c) En las funciones miembro, el operando de la izquierda no puede ser un objeto de la clase

d) Las anteriores respuestas no son correctas

Pregunta 7:

Cuando se emplea el paso por referencia para un parámetro de una función

a) Se invoca al constructor de copia

b) Se invoca al constructor de copia sólo si el parámetro también se ha definido como const

c) No se invoca al constructor de copia

d) No se invoca al constructor de copia sólo si el parámetro también se ha definido como const

Pregunta 8:

Respecto al constructor de copia y la sobrecarga del operador asignación

a) Son equivalentes

b) Si uno no existe, se invoca automáticamente al otro en su lugar

c) Tienen que definirse con el mismo código

d) Las anteriores respuestas no son correctas

Pregunta 9:

Para que la sobrecarga del operador corchete pueda aparecer a ambos lados de una asignación, tiene que definirse como

a) TItem operator[](int);

b) TItem& operator[](int);

c) const TItem operator[](int);

d) Las anteriores respuestas no son correctas

Pregunta 10:

¿Cuál es la sobrecarga correcta?

a) void operator=(const TCoordenada &);

b) TCoordenada operator=(const TCoordenada &);

c) TCoordenada& operator=(const TCoordenada &);

d) Las anteriores respuestas no son correctas



Inicio