diff options
sem 7
3 files changed, 75 insertions, 0 deletions
| -rw-r--r-- | Sem. 07/Person/Person.cpp | 40 | ||||
| -rw-r--r-- | Sem. 07/Person/Person.h | 19 | ||||
| -rw-r--r-- | Sem. 07/Person/Source.cpp | 16 |
diff --git a/Sem. 07/Person/Person.cpp b/Sem. 07/Person/Person.cpp new file mode 100644 index 0000000..2786671 --- /dev/null +++ b/Sem. 07/Person/Person.cpp @@ -0,0 +1,40 @@ +#include <iostream> +#include "Person.h" + +Person::Person(const char* name, int age) +{ + setName(name); + setAge(age); +} + + +void Person::setName(const char* name) +{ + if (strlen(name) >= 20) + { + strcpy(this->name, "Unknown"); + } + else + { + strcpy(this->name, name); + } +} + +void Person::setAge(int age) +{ + if (age<0 || age > 120) + age = 40; + this->age = age; +} +const char* Person::getName() const +{ + return name; +} +int Person::getAge() const +{ + return age; +} +void Person::print() +{ + std::cout << name << " " << age << std::endl; +}
\ No newline at end of file diff --git a/Sem. 07/Person/Person.h b/Sem. 07/Person/Person.h new file mode 100644 index 0000000..499c744 --- /dev/null +++ b/Sem. 07/Person/Person.h @@ -0,0 +1,19 @@ +#pragma once + +class Person +{ +public: + Person(const char* name, int age); + + void setName(const char* name); + void setAge(int age); + + const char* getName() const; + int getAge() const; + + void print(); + +private: + char name[20]; + int age; +}; diff --git a/Sem. 07/Person/Source.cpp b/Sem. 07/Person/Source.cpp new file mode 100644 index 0000000..478d07a --- /dev/null +++ b/Sem. 07/Person/Source.cpp @@ -0,0 +1,16 @@ +#include <iostream> +#include "Person.h" +using namespace std; + +int main() +{ + Person p("Ivan", 13); + Person p2("Petur", 12); + + p = p2; + + p2.setName("Aleks"); + p.print(); + p2.print(); + +} |
