Вы находитесь на странице: 1из 4

CURSO: METODOLOGA DE LA PROGRAMACIN

Primer Examen - Profesor: Ing. Oliver Amadeo Vilca Huayta

Cdigo Matrcula: 114609 Apellidos y Nombres: Esteba LLanqui Ronal Yasmani

1. En C++, Cual de los siguientes no es un especificador de acceso?

a) protected b) hidden c) private d) public e) Todas las Anteriores.

2. En C++, El especificador de acceso por defecto es:

a) protected b) hidden c) private d) public e) Ninguna de las Anteriores.

3. En relacin a los miembros de una clase especificados como private:

a) Solo pueden ser accedidos por la funcin miembro de la clase.

b) Solo pueden ser accedidos por las funciones miembro de la clase y las funciones amigas de la
clase.

c) Solo pueden ser accedidos por las funciones miembro de la clase y desde la funcin principal
main.

d) Solo pueden ser accedidos por las funciones miembro de la clase y las funciones miembro
privadas.

e) Ninguna de las Anteriores.


4. Considere la siguiente definicin de la clase Rectngulo (un
paralelogramo cuyos cuatro lados forman ngulos rectos Entre s. Los
lados opuestos tienen la misma longitud. El permetro de un rectngulo es
igual a la suma de todos sus Lados). Escriba el cdigo de la definicin de
las funciones miembro (incluye el constructor), deben estar fuera de la
clase y no deben cambiar el prototipo de la clase.

#include<iostream>

#include<stdlib.h>
using namespace std;
class Rectangulo
{
private:
int base, altura; // base y altura del rectngulo.
public:
Rectangulo(int x,int y);
float Area();
float Perimetro();
};
Rectangulo::Rectangulo(int x, int y)
{
base=x;
altura=y;
}
float Rectangulo::Area()
{
return base*altura;
}
float Rectangulo::Perimetro()
{
return 2*base+2*altura;
}

int main()
{
Rectangulo A(3,2);
cout<<A.Area()<<endl;
system("pause");

}
5. Indique una razn por la que una clase pueda requerir un
constructor.

Para aadir valores u parmetros a los objetos de la clase y darles un valor inicial.
El constructor tiene la funcin de dar los valores de los atributos es por eso que es
requerido.
6. Indique el resultado del siguiente programa. Explique los pasos.

#include <iostream>
using namespace std;
class X
{
int a, b; //Se declara atributos de la clase X.
friend class AmigaRebelde; //se declara como amiga a la clase AmigaRevelde.
public:
X() { a=10; b=a+10; } //se le da valores por defecto a los atributos de la clase X.
void Mostrar() //funcin que muestra los valores de los atributos de clase X.
{
cout << "El primero es " << a << endl;
cout << "El segundo es " << b << endl;
}
};
class AmigaRebelde { //se declara una nueva clase AmigaRevelde.
public:
void Mostrar(X & x) //se declara una funcin que recibe parmetros de tipo X.
{
cout<<x.a+x.b; //muestra la sumatoria de los atributos del objeto de tipo X.
}
};
int main() {
X xobj; //se declara un objeto de tipo X.
AmigaRebelde fobj; //se crea un objeto de tipo AmigaRevelde.
fobj.Mostrar(xobj); //llama a la funcin mostrar lo cual recibe del objeto de tipo xobj.

system("pause");
}

Muestra 30
7. Para la clase llamadacelular escriba un constructor copia.
Requerimiento: cuando se efecta la copia, no se deben copiar los nmeros
de celular de origen y destino, en cambio, si se copia el tiempo de llamada.

#include <stdlib.h>
#include <iostream>
using namespace std;
class LlamadaCelular {

int p; // Tiempo de la llama en segundos.


unsigned int N_origen, N_destino; // Nmero de celular origen y destino.
public:
LlamadaCelular(int val) { // Un constructor: inicializa el tiempo.
p = val;
}
LlamadaCelular operator=(const LlamadaCelular &B)
{
p=B.p;
}
int ObtenerTiempo() {
return p;
}
void EstablecerTiempo(int val) {
p = val;
}
};
int main(){
LlamadaCelular A(45); // Crea el objeto A con tiempo de llamada = 45 segundos.
LlamadaCelular B = A; // Crea el objeto B, copia el tiempo de llamada del objeto A.
cout<<B.ObtenerTiempo(); // Muestra 45 ;
system("pause");
}

Вам также может понравиться