40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
|
|
#include "animals.h"
|
||
|
|
|
||
|
|
Animal::Animal(std::string name_input, int age_input, bool isHealthy_input, bool isFed_input, int size_input)
|
||
|
|
: name(name_input), age(age_input), size(size_input), healthStatus(isHealthy_input, isFed_input) {}
|
||
|
|
|
||
|
|
|
||
|
|
Animal::HealthStatus::HealthStatus(bool healthy, bool fed) : isHealthy(healthy), isFed(fed) {}
|
||
|
|
|
||
|
|
|
||
|
|
void Animal::HealthStatus::printHealthStatus() const {
|
||
|
|
std::cout << "Zdrowy: " << (isHealthy ? "Zdrowy" : "Chory")
|
||
|
|
<< "\nNajedzony?: " << (isFed ? "Tak" : "Nie") << "\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
std::string Animal::getName() const { return name; }
|
||
|
|
int Animal::getAge() const { return age; }
|
||
|
|
bool Animal::getHealthState() const { return healthStatus.isHealthy; }
|
||
|
|
bool Animal::getIsFed() const { return healthStatus.isFed; }
|
||
|
|
|
||
|
|
//szczegoly zwierzakow
|
||
|
|
void Animal::print() const {
|
||
|
|
std::cout << "Imie: " << name << "\nWiek: " << age
|
||
|
|
<< "\nRozmiar: " << size << " cm\n";
|
||
|
|
healthStatus.printHealthStatus();
|
||
|
|
}
|
||
|
|
|
||
|
|
Lion::Lion(std::string name_input, int age_input, bool isHealthy_input, bool isFed_input, int size_input)
|
||
|
|
: Animal(name_input, age_input, isHealthy_input, isFed_input, size_input) {}
|
||
|
|
|
||
|
|
void Lion::voice() {
|
||
|
|
std::cout << name << " Raaaaaarrr!\n";
|
||
|
|
}
|
||
|
|
|
||
|
|
Snake::Snake(std::string name_input, int age_input, bool isHealthy_input, bool isFed_input, int size_input)
|
||
|
|
: Animal(name_input, age_input, isHealthy_input, isFed_input, size_input) {}
|
||
|
|
|
||
|
|
void Snake::voice() {
|
||
|
|
std::cout << name << " Sssssssss!\n";
|
||
|
|
}
|