Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Fecha {
- public:
- Fecha() {
- anho = 0; mes = 0; dia = 0; }
- Fecha (int a, int m, int d){
- anho = a; mes = m; dia = d;
- }
- void setFecha(int a, int m, int d) {
- anho = a; mes = m; dia = d;
- }
- int getAnyo() { return anho; }
- int getMes() {return mes; }
- int getDia() { return dia; }
- void ver()
- { // esto no se debe hacer, pero funciona:
- cout << dia << "/" << mes << "/" << anho << endl;
- }
- private:
- int anho;
- int mes;
- int dia;
- };
- class Persona {
- public:
- Persona();
- Persona(string nombre, int edad);
- Persona(const Persona& otro);
- ~Persona();
- void setNombre(string nombre);
- string getNombre();
- void setEdad(int una_edad);
- int getEdad();
- void setNacimiento(Fecha cuando);
- Fecha getNacimiento();
- void ver();
- // alerta !!!! nacimiento es atributo public
- // Fecha nacimiento; // no se hace !!!!
- protected:
- private:
- //atributos
- string nombre;
- int edad;
- Fecha nacimiento;
- };
- int main()
- {
- cout << "primero las personas" << endl;
- cout << "====================" << endl;
- Persona uno;
- uno.setNombre("Cristobal");
- uno.setEdad(24);
- Persona dos("Pedro", 19); //instanciar
- Persona cuatro(dos); //constructor copia
- uno.ver();
- dos.ver();
- cuatro.ver();
- cout << endl << endl;
- cout << "ahora una fecha" << endl;
- cout << "====================" << endl;
- Fecha enero152020(2020,1,15);
- enero152020.ver();
- cout << endl << endl;
- cout << "ahora una persona con fecha" << endl;
- cout << "====================" << endl;
- uno.setNacimiento(enero152020);
- uno.getNacimiento().ver();
- cout << endl << endl;
- cout << "ahora una persona con fecha 2" << endl;
- cout << "====================" << endl;
- Fecha mayo152020(2020,5,15);
- Fecha temporal;
- dos.setNacimiento(mayo152020);
- temporal = dos.getNacimiento();
- temporal.ver();
- return 0;
- }
- Persona::Persona() {
- this->nombre = "";
- this->edad = 0;
- }
- void Persona::setNacimiento(Fecha cuando) {
- this->nacimiento.setFecha(
- cuando.getAnyo(),
- cuando.getMes(),
- cuando.getDia()
- );
- }
- Persona::Persona(string nombre, int edad)
- {
- this->nombre = nombre;
- this->edad = edad;
- }
- //constructor copia
- Persona::Persona(const Persona& otro){
- this->nombre = otro.nombre;
- this->edad = otro.edad;
- }
- //setters
- void Persona::setNombre(string nombre){
- this->nombre = nombre;
- }
- void Persona::setEdad(int una_edad){
- edad = una_edad;
- }
- //getters
- string Persona::getNombre(){
- return nombre;
- }
- int Persona::getEdad(){
- return this->edad;
- }
- Fecha Persona::getNacimiento(){
- return this->nacimiento;
- }
- //destructor
- Persona::~Persona() {
- }
- //métodos de la clase (internos)
- void Persona::ver(){
- cout <<"nombre:"<<this->nombre<<", edad:"<<getEdad() <<endl ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement