Предмет: Информатика, автор: Аноним

С++ Определить класс Man, содержащий следующие компоненты: сhar* name – имя, double salary - зарплата, объект класса Date, который определяет дату рождения: class Date { int day, month, year;}; class Man { сhar* name; double salary; Date birthday;}; В конструкторе должна динамически распределяться память для хранения данных. В деструкторе эта память должна освобождаться. Не забудьте добавить конструктор копирования. Перегрузите оператор присваивания, вывода в консоль, оператор % (увеличение зарплаты на заданный процент).

Ответы

Автор ответа: nazikmuz
1

Відповідь:

Сделал практически все,я все таки надеюсь на то что вы доделаете сами

С++ code:

#include <iostream>

class Date{

private:

int day;

int month;

int year;

public:

Date();

Date(int,int,int);

int get_day();

int get_month();

int get_year();

void set_day(int);

void set_month(int);

void set_year(int);

void print_date();

};

Date::Date(){

this->day = 1;

this->month = 1;

this->year = 2000;

}

Date::Date(int day, int month, int year){

this->day = day;

this->month = month;

this->year = year;

}

int Date::get_day(){

return this->day;

}

int Date::get_month(){

return this->month;

}

int Date::get_year(){

return this->year;

}

void Date::set_day(int day){

this->day = day;

}

void Date::set_month(int month){

this->month = month;

}

void Date::set_year(int year){

this->year = year;

}

void Date::print_date(){

std::cout << this->day << "." << this->month << "." << this->year << std::endl;

}

class Man{

private:

char *name;

double salary;

Date birthday;

public:

Man();

Man(char,double,Date);

~Man();

Man(Man &);

void operator = (Man &);

void operator % (Man &);

friend std::istream& operator>> (std::istream& in, Man& obj) {

friend std::ostream& operator<< (std::ostream& out, const Man& obj);

};

Man::Man(){

this->name = new char[20];

this->salary = 0;

}

Man::~Man(){

delete[] name;

}

Man::Man(Man &other){

for(int i = 0; i < 20; i++){

 this->name[i] = other.name[i];

}

this->salary = other.salary;

this->birthday.set_day(other.birthday.get_day());

this->birthday.set_month(other.birthday.get_month());

this->birthday.set_year(other.birthday.get_year());

}

void Man::operator =(Man &object){

for(int i = 0; i < 20; i++){

 this->name[i] = object.name[i];

}

this->salary = object.salary;

this->birthday.set_day(object.birthday.get_day());

this->birthday.set_month(object.birthday.get_month());

this->birthday.set_year(object.birthday.get_year());

}

int main(){

return 0;

}


nazikmuz: Вам осталось дописать реализацию перегруженного оператора % и операторы ввода и вывода
mishafhxfh: ПОМОГИТЕ ПОЖАЛУЙСТА https://znanija.com/task/49439308
Похожие вопросы
Предмет: Математика, автор: nastyyya39