Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Spark.2011
1

Нужен совет

06.12.2011, 18:12. Показов 611. Ответов 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.: пробовал по разному. Мне без разницы что объявлять другом.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2011, 18:12
Ответы с готовыми решениями:

Нужен совет!
Как можно сделать что бы переменную произвольного типа объявленную в одной функции, можно было...

нужен совет!!!
блин скачала еле как этот си...dev c++....ввожу программу и нажимаю компелировать...он компелирует...

Нужен совет
Хочу начать изучать С++. Посоветуйте какие-нибудь книги или самоучители. Учить буду с нуля. До...

Нужен совет!
Здравствуйте уважаемые! Подскажите пожалуйста книгу по С++ , чтобы в ней толком обьяснялось про...

2
63 / 58 / 13
Регистрация: 24.07.2011
Сообщений: 343
07.12.2011, 00:59 2
не очень понятно что именно ты хочешь заимствовать от класса человек?
0
Spark.2011
07.12.2011, 14:12 3
Цитата Сообщение от bretba Посмотреть сообщение
не очень понятно что именно ты хочешь заимствовать от класса человек?
Например cout << "\n Степень: " << degree; для класса мэнеджер
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2011, 14:12

Нужен совет
Последний раз прогал очень давно, уже подзабыл, нужен совет. Дан текстовый файл, в котором имеется...

Нужен совет
Всем добрый день. Кто нибудь может поделиться компилятором Турбо Си++ или каким нибудь другим...

Нужен совет!
Народ вот у меня вопрос если я прочитаю книгу &quot;Программирование. Принцыпы и практика использования...

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


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

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

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