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

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

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

Нужен совет - C++

06.12.2011, 18:12. Просмотров 409. Ответов 2
Метки нет (Все метки)

Вообщем написал программу, вкратце : сущ-ет класс человек, а классы менеджер, рабочий и ученый наследуют его св-ва. Нужно обратиться к закрытым данным private от класса менеджера. В теории знаю как это сделать, но на практике не получается. Для этого нужно объявить класс менеджер другом - friend

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 <string> 
using namespace std; 
/////////////////////////////////////////////////////////// 
class man 
 
{ 
private: 
string school; 
string degree; 
 
public: 
 
void getedu ( ) 
{ 
 
cout << " Введите название учебного заведения "; 
cout << " (КарГТУ, КарГУ, КарМУ, КЭУ): "; 
cin >> school; 
cout << " Введите уровень образования\n"; 
cout << " (неполное высшее, бакалавр, магистр, кандидат наук): "; 
cin >> degree; 
} 
void putedu ( ) const 
{ 
cout << "\n Учебное заведение: " << school; 
cout << "\n Степень: " << degree; 
} 
 
 
}; 
/////////////////////////////////////////////////////////// 
class employee 
{ 
private: 
string name; 
unsigned long number; 
public: 
void getdata ( ) 
{ 
cout << "\n Введите фамилию: "; cin >> name; 
cout << " Введите номер: "; cin >> number; 
 
} 
void putdata ( ) const 
{ 
cout << "\n Фамилия: " << name; 
cout << "\n Номер: " << number; 
} 
 
}; 
/////////////////////////////////////////////////////////// 
class manager 
{ 
private: 
string title; 
double dues; 
employee emp; 
man stu; 
public: 
void getdata ( ) 
{ 
emp.getdata ( ); 
cout << " Введите должность: "; cin >> title; 
cout << " Введите сумму взносов в гольф-клуб: "; cin >> dues; 
 
stu.getedu ( ); 
} 
void putdata ( ) const 
{ 
emp.putdata ( ); 
cout << "\n Должность: " << title; 
cout << "\n Сумма взносов в гольф-клуб: " << dues; 
stu.putedu ( ); 
} 
}; 
/////////////////////////////////////////////////////////// 
class scientist 
{ 
private: 
int pubs; 
employee emp; 
man stu; 
public: 
void getdata ( ) 
{ 
emp.getdata ( ); 
cout << " Введите количество публикаций: "; cin >> pubs; 
stu.getedu ( ); 
} 
void putdata ( ) const 
{ 
emp.putdata ( ); 
cout << "\n Количество публикаций: " << pubs; 
stu.putedu ( ); 
} 
}; 
/////////////////////////////////////////////////////////// 
class laborer 
{ 
private: 
employee emp; 
public: 
void getdata ( ) 
{ emp.getdata ( ); } 
void putdata ( ) const 
{ emp.putdata ( ); } 
}; 
/////////////////////////////////////////////////////////// 
int main ( ) 
{ 
setlocale (0, "rus"); 
manager m1; 
scientist s1; 
laborer l1; 
 
// введем информацию о нескольких сотрудниках 
cout << endl; 
cout << "\nВвод информации о первом менеджере"; 
m1.getdata ( ); 
 
cout << "\nВвод информации о первом ученом"; 
s1.getdata ( ); 
 
cout << "\nВвод информации о первом рабочем"; 
l1.getdata ( ); 
 
// выведем полученную информацию на экран 
cout << "\nИнформация о первом менеджере"; 
m1.putdata ( ); 
 
cout << "\nИнформация о первом ученом"; 
s1.putdata ( ); 
 
cout << "\nИнформация о первом рабочем"; 
l1.putdata ( ); 
 
cout << endl; 
 
system("pause"); 
}
}
 Комментарий модератора 
Используйте теги форматирования кода!


P.S.: пробовал по разному. Мне без разницы что объявлять другом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2011, 18:12     Нужен совет
Посмотрите здесь:

Нужен совет программистов - C++
Здравствуйте. Я сейчас учусь на 2-ом курсе вуза, на программиста. Вот задался таким вопросом : а что нужно знать для того , чтобы именно...

Нужен хороший совет! - C++
Всем привет! Народ всем привет у меня вопрос вот я хочу связать свою жизнь с game-developingom(для этого я учу c++ и в скором времени...

Процессы нужен совет - C++
Есть вот такой пример: #include &lt;windows.h&gt; #include &lt;tlhelp32.h&gt; #include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &quot;iostream&quot;...

Массивы (нужен совет) - C++
вот программа в подчеркнутой строке выдает ошибку &quot;выражение должно иметь константное значение&quot; (это касается n) как исправить то? ...

Нужен совет в программе! - C++
Програма такого типа: 1.Вивести в левый угол екрана компютера в столбик 5 слов разного цвета! 2.Обеспечить изменение цветах фона экрана...

Нужен совет fread - C++
Как считать с txt файла значения int с помощью функции fread ( не использовать ifstream и оfstream )

нужен совет Proff - C++
С чего начать программирования С++ ? Какие книжки рекомендуете ?(если не лень укажите авторы).

нужен совет по выводу - C++
короче смотрите есть допустим во такой цикл for (int i=1;i&lt;=20;i++) { } в цикле надо сделать вывод i и выглядить он должен вот так ...

Нужен совет по проге. - C++
Здравствуйте. У меня есть проблема с задачей на C++. Я в нем полный 0 а в институте требуют. Пожалуйста если не трудно помогите с решением....

Нужен совет по программе - C++
Здравствуйте, есть задача, дано 2 массива, первый-упорядочен по возрастанию, второй-контейнер элементов, индексы нахождения которых в 1...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bretba
63 / 58 / 5
Регистрация: 24.07.2011
Сообщений: 343
07.12.2011, 00:59     Нужен совет #2
не очень понятно что именно ты хочешь заимствовать от класса человек?
Spark.2011
Сообщений: n/a
07.12.2011, 14:12     Нужен совет #3
Цитата Сообщение от bretba Посмотреть сообщение
не очень понятно что именно ты хочешь заимствовать от класса человек?
Например cout << "\n Степень: " << degree; для класса мэнеджер
Yandex
Объявления
07.12.2011, 14:12     Нужен совет
Ответ Создать тему
Опции темы

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