0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 96
1

Производный класс Employee и базовый класс Person

19.07.2018, 09:51. Показов 3288. Ответов 2
Метки нет (Все метки)

Класс Person содержит информацию о человеке
- firstName
- lastName
- age
- address

- конструктор без параметров
- конструктор с параметрами
- методы set / get
- print - печать на экран
- потоковый ввод/вывод (<<, >>)

Класс Employee наследует от Person
- position - должность
- salary - зарплата

- конструкторы
- print
- потоковый ввод/вывод
- operator ==, != - сравнение сотрудников
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2018, 09:51
Ответы с готовыми решениями:

Создать класс EMPLOYEE, производный от класса PERSON и использовать их для вычисления зарплаты сотрудника
Базовый класс: ЧЕЛОВЕК (PERSON) Имя (name) – string Возраст (age) – int Создать производный...

Базовый класс Complex и производный класс для реализации квадратных матриц
1) Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров,...

2
Модератор
Эксперт С++
12768 / 10226 / 6146
Регистрация: 18.12.2011
Сообщений: 27,377
19.07.2018, 10:08 2
См. ссылки внизу страницы
0
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
19.07.2018, 17:33 3
Набросала быстро:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include  <iostream>
#include <string>
 
 
using namespace std;
 
 
class Person {
protected:
 
    int age;
    string nameFirst;
    string nameLast;
    string address;
 
public:
    Person() {
              setlocale(LC_ALL, "Russian");
              age = 0;
              nameFirst = "";
              nameLast = "";
              address = "";
              cout << "Сработал конструктор без параметров" << endl; 
             };//конструктор без параметров
 
    Person(int a, string nF, string nL, string addrs) { age = a; nameFirst = nF; nameLast = nL; address = addrs; };//конструктор с параметрами
    ~Person() {};//Деструктор
    void print() { 
                 setlocale(LC_ALL, "Russian");
                 cout << "Имя: " << nameFirst << endl; 
                 cout << "Фамилия: " << nameLast << endl;
                 cout << "Возраст: " << age << endl;
                 cout << "Адрес: " << address << endl;
               };
    void set(int a, string nF, string nL, string addrs) { age = a; nameFirst = nF; nameLast = nL; address = addrs; };
    void get() {cout << "INFO: " << nameFirst <<"/" << nameLast << "/" << age << "/" << address << "/";};
};
 
 
class Employee : public Person {
private:
    string position;
    int salary;
public:
    Employee() {
                setlocale(LC_ALL, "Russian");
                Person();
                position = "";
                salary = 0;
               };
    Employee(int a, string nF, string nL, string addrs, string pstn, int slr) {age = a; nameFirst = nF; nameLast = nL; address = addrs; position = pstn; salary = slr;};
    ~Employee() {};//Деструктор
 
    void print() { Person::print(); 
                   cout << "Должность: " << this->position << endl;
                   cout << "ЗП: " << this->salary << endl;
    };
 
    void get() {
        Person::get(); cout << position << "/" << salary;
    }
 
    bool operator ==(Employee e) { if (age == e.age && nameFirst == e.nameFirst && nameLast == e.nameLast && address == e.address && position == e.position && salary == e.salary) { return true; }
    else return false;};
};
 
 
 
 
int main(){
    bool x;
 
    setlocale(LC_ALL, "Russian");//для русского языка 
 
    Person pers1;//объявляем без параметров-значит сработает конструктор по умолчанию
    pers1.print();
    pers1.get();
 
    cout << endl;
 
    //Второй объект класса Персон объявим с конструктором с параметрами
    Person pers2(12, "adasd", "esffe", "fsdkdfk");
    pers2.print();
    pers2.get();
 
    cout << endl;
 
    //объявим объект класса Емплое без параметров(конструктор по усолчанию сработает)
    Employee empl1;
    empl1.print();
    empl1.get();
 
    cout << endl;
 
 
    //объявим с параметрами второй объект класса Емплое
    Employee empl2(26, "Alice", "Boishtyanu", "Krontshtadt", "Ingener-programmer", 60000);
    empl2.print();
    empl2.get();
 
    cout << endl;
 
    //Третий объект класса Емплое объявим так же как и второй - для проверки перегрузки оператора ==
    Employee empl3(26, "Alice", "Boishtyanu", "Krontshtadt", "Ingener-programmer", 60000);
    empl3.print();
    empl3.get();
 
    cout << endl;
 
    x = empl3 == empl2; //используем наш перегруженный оператор == для сравнения двух эксземпляров и присвоим логической переменной х, поскольку функция перегрузки возвращает либо правду либо ложь
 
    if (x) { cout << "Равны" << endl; }
    else { cout << "HE Равны" << endl; }
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2018, 17:33
Помогаю со студенческими работами здесь

Наследование: базовый класс Квадрат, производный класс Пирамида
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна...

Указатели в базовом классе на базовый класс и производный класс
Пишу контейнер &quot;Бинарное дерево поиска&quot; для частотного словаря. С самим контейнером особо...

Создать базовый класс Triad и производный класс vector3D
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает Нужно помочь с классом...

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание консольного приложения,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru