51 lines
1.0 KiB
C++
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; |