Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct date {
- int day_;
- int month_;
- int year_;
- };
- class person {
- public:
- person(const int id, const char* last_name, const char* first_name, const char* middle_name, const date birthday) : id_(id), last_name_(new char[strlen(last_name) + 1]), first_name_(new char[strlen(first_name) + 1]), middle_name_(new char[strlen(middle_name) + 1]), birthday_(birthday) {
- strcpy(last_name_, last_name);
- strcpy(first_name_, first_name);
- strcpy(middle_name_, middle_name);
- count_person_++;
- }
- person() : person(11111, "Ivanov", "Ivan", "Ivanovich", {1,1,1993}) {}
- person(const person& other) : person(other.id_, other.last_name_, other.first_name_, other.middle_name_, other.birthday_) {}
- static int get_count_person() {
- return count_person_;
- }
- void set_id(const int id) {
- id_ = id;
- }
- void set_last_name(const char* last_name) {
- delete[] last_name_;
- last_name_ = new char[strlen(last_name) + 1];
- strcpy(last_name_, last_name);
- }
- void set_first_name(const char* first_name) {
- delete[] first_name_;
- first_name_ = new char[strlen(first_name) + 1];
- strcpy(first_name_, first_name);
- }
- void set_middle_name(const char* middle_name) {
- delete[] middle_name_;
- middle_name_ = new char[strlen(middle_name) + 1];
- strcpy(middle_name_, middle_name);
- }
- void set_birthday(const int day, const int month, const int year) {
- birthday_.day_ = day;
- birthday_.month_ = month;
- birthday_.year_ = year;
- }
- void print() {
- cout << last_name_ << " " << first_name_ << " " << middle_name_ << ", id - " << id_ << ", " << birthday_.day_ << "." << birthday_.month_ << "." << birthday_.year_ << endl;
- }
- ~person() {
- delete[] last_name_;
- delete[] first_name_;
- delete[] middle_name_;
- count_person_--;
- }
- private:
- int id_; // id
- char* last_name_; // фамилия
- char* first_name_; // имя
- char* middle_name_; // отчество
- date birthday_; // дата рождения
- static int count_person_; // общее количество людей
- };
- int person::count_person_ = 0;
- int main() {
- person p1;
- person p2{ 222222, "Petrov", "Petr", "Petrovich", {23,9,1997} };
- person p3{ p2 };
- p1.print();
- p2.print();
- p3.print();
- cout << person::get_count_person() << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment