Files
cppLearnings/OOPlaypen/Person.cpp
2015-10-03 16:50:19 -04:00

51 lines
1.0 KiB
C++

#include "stdafx.h"
#include "Person.h"
#include "Address.h"
Person::Person(const Person & p)
:age(p.age), name(p.name), sex(p.sex)
{
auto* a = p.address;
address = new Address(
a->house_number,
a->street_name,
a->city);
}
Person::Person(int age, string name, int sex)
:age(age), name(name), sex(sex)
{
address = nullptr;
}
Person::Person(int age, string name, int sex, int houseNumber, string streetName, string city)
: Person(age, name, sex)
{
if (address != nullptr)
{
delete address;
}
address = new Address(houseNumber, streetName, city);
}
Person::~Person()
{
if (address != nullptr)
{
delete address;
address = nullptr;
}
}
int Person::getLifeExpectancy()
{
return Person::lifeExpetancy;
}
void Person::greet()
{
cout << "My name is " << this->name << " and I am " << this->age << endl;
if (address)
{
cout << "I live at " << address->house_number << " " << address->city << endl;
}
}
int Person::lifeExpetancy = 80;