Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mor777gan
Сообщений: n/a
#1

Помогите, пожалуйста, написать класс "Кадры" - C++

11.12.2012, 21:00. Просмотров 685. Ответов 1
Метки нет (Все метки)

Вот есть задание
"Класс – КАДРЫ; Члены-данные (имя – char*;номер цеха – int;разряд – int)."

нужно сделать вот эти пункты:


1. Определить пользовательский класс в соответствии с вариантом задания.
2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3. Определить в классе деструктор.
4. Определить в классе компоненты-функции для просмотра и установки полей данных.
5. Определить указатель на компоненту-функцию.
6. Определить указатель на экземпляр класса.
7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
8. Показать в программе использование указателя на объект и указателя на компоненту-функцию.

С классами вообще не разберусь никак, а надо завтра учителю показать уже...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 21:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите, пожалуйста, написать класс "Кадры" (C++):

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс "вентилятор" содержащий в себе классы:...

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: "+",...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
11.12.2012, 23:21 #2
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
#include <cstring>
 
char* StrDup(const char* src) {
 
    char* dest = new char[std::strlen(src) + 1];
    return std::strcpy(dest, src);
}
 
class Personnel {
    
public:
    Personnel();
    Personnel(const char* name, int shop_number, int category);
    Personnel(const Personnel& rhs);
 
    ~Personnel();
 
    void SetName(const char* name);
    void SetShopNumber(int shop_number);
    void SetCategory(int category);
 
    const char* GetName() const;
    int GetShopNumber() const;
    int GetCategory() const;
    
private:
    char* name_;
    int shop_number_;
    int category_;
};
 
Personnel::Personnel() {
 
    name_ = StrDup("unnamed");
    shop_number_ = 0;
    category_ = 0;
 
    std::cout << "Personnel()" << std::endl;
}
 
Personnel::Personnel(const char* name, int shop_number, int category) {
 
    name_ = StrDup(name);
    shop_number_ = shop_number;
    category_ = category;
 
    std::cout << "Personnel(const char*, int, int)" << std::endl;
}
 
Personnel::Personnel(const Personnel& rhs) {
 
    name_ = StrDup(rhs.name_);
    shop_number_ = rhs.shop_number_;
    category_ = rhs.category_;
 
    std::cout << "Personnel(const Personnel&)" << std::endl;
}
 
Personnel::~Personnel() {
 
    delete[] name_;
    
    std::cout << "~Personnel()" << std::endl;
}
 
void Personnel::SetName(const char* name) {
 
    delete[] name_;
    name_ = NULL;
    name_ = StrDup(name);
}
 
void Personnel::SetShopNumber(int shop_number) {
 
    shop_number_ = shop_number;
}
 
void Personnel::SetCategory(int category) {
 
    category_ = category;
}
 
const char* Personnel::GetName() const {
 
    return name_;
}
 
int Personnel::GetShopNumber() const {
 
    return shop_number_;
}
 
int Personnel::GetCategory() const {
 
    return category_;
}
 
void show_info(const Personnel& personnel) {
 
    std::cout << "Name: " << personnel.GetName() << '\n';
    std::cout << "Shop: " << personnel.GetShopNumber() << '\n';
    std::cout << "Category: " << personnel.GetCategory() << '\n';
    std::cout << std::endl;
}
 
int main() {    
    
    std::cout << "personnel1 -> "; 
    Personnel* personnel1 = new Personnel();
 
    std::cout << "personnel2 -> ";
    Personnel* personnel2 = new Personnel("personnel2", 2, 2);
 
    std::cout << "personnel3 -> ";
    Personnel* personnel3 = new Personnel(*personnel2);
    
    std::cout << "\n...\n" << std::endl;    
    
    void (Personnel::*SetName_ptr)(const char*) = &Personnel::SetName;
    
    (personnel1->*SetName_ptr)("personnel1");
    personnel1->SetShopNumber(1);
    personnel1->SetCategory(1);
    
    (personnel3->*SetName_ptr)("personnel3");
 
    show_info(*personnel1);
    show_info(*personnel2);
    show_info(*personnel3);
    
    std::cout << "...\n" << std::endl;
 
    std::cout << "personnel1 -> "; 
    delete personnel1;
 
    std::cout << "personnel2 -> ";
    delete personnel2;
 
    std::cout << "personnel3 -> ";
    delete personnel3;    
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 23:21
Привет! Вот еще темы с ответами:

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат" - C++
Реализовать класс Графический объект от которого будут наследоваться классы &quot;круг&quot; и &quot;квадрат&quot;. Собственно, сам код, который был написан...

Создать иерархию классов: родительский класс "Транспорт", класс-потомок "Техосмотр транспорта" - C++
Помогите пожалуйста написать программу Родительский класс &quot;Транспорт&quot;. Поля класса: тип транспорта, гос.номер, марка, Ф.И.О владельца,...

Помогите пожалуйста "error C2143:" и "error C4430:" - C++
Здравствуйте. помогите пожалуйста понять как правильно сделать оъявление вот такой штуки... class bst{ struct et{ et* l; ...

Базовый класс "Источник напряжения", производные классы "Цепь" и "Аккумулятор" - C++
Дали задачу по программированию: составить класс &quot;Источник напряжения&quot;, для которого нужно реализовать два производных класса: &quot;Цепь&quot; и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru