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

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

Войти
Регистрация
Восстановить пароль
 
Dark Alchemist
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 7
#1

Область видимости Protected - C++

09.01.2013, 21:20. Просмотров 451. Ответов 4
Метки нет (Все метки)

Еcть некий класс player и есть в нем переменная id в области паблик. Есть второй класс team который использует эту переменную. Пjка эти классы дружны, то все нормально, но если убрать дружбу, то понятно что будет. Что нужно сделать, чтобы все работало и без дружбы этих классов?
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
class player{protected:
 char name[40],id;int tim,out;
 //friend team; - убираем дружбу
 public:
 player(){id='1';}
 player(player&);
 virtual int enter();
 virtual void print();
 virtual void save(fstream&);
 virtual void load(fstream&);
 void printa();
 };
  public:team(){n=0;ng=0;}
 team(team&);
 void print();
 void printp();
 void printa();
 void add(char);
 void save();
 void load();
 void enter();
 int check(game&);
 int checkall();
 void addg();
 void delg(char*);
 game& getg(char*);
 };
void team::load(){fstream f;int i;char t; //запись в файл, но нам это не нужно, выложил для примера
 f.open(fname(),ios::in);
 f>>name>>coach>>n>>ng;
 for(i=0;i<ng;i++)g[i].load(f);
 for(i=0;i<n;i++){f>>t;
 switch(t)
 {case '0':list[i]=new goalk();break;
 case '1':list[i]=new player();break;
 case '2':list[i]=new forw();break;}
 list[i]->load(f);
 list[i]->id=t;} f.close(); // тут ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 21:20     Область видимости Protected
Посмотрите здесь:

Область видимости в С++ - C++
В книге С++ Бархатный путь. ( http://khpi-iip.mipk.kharkiv.edu/library/extent/prog/cppvw/cpp_047.html) сказано, что область действия имен...

Область видимости - C++
Здравствуйте. Тут такое дело: #include &lt;vector&gt; class SomeClass { public: SomeClass( std::vector&lt; int &gt; v ) : vec( v ) {} ...

Область видимости - C++
У меня возникла проблема с областью видимости. вот у меня два класса class Obj { public: Win *parent;

Область видимости - C++
Даю фрагмент программы: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;cmath&gt; struct elem //тип элемента двусвязного списка ...

Область видимости - C++
func { int someVariable; { int someVariable; //можно ли как нибудь получить доступ к переменной...

область видимости класса - C++
А почему у меня ошибку выдает? Не могу понять using namespace std; class Base { int a; public: Base(int aa) { a = aa; } ...

Область видимости файла - C++
Мне не дает покоя вот такой вопрос: Проект состоит из нескольких файлов .cpp. Есть несколько .h файлов, содержащих определения...

Область видимости и указатели - C++
Разбираю пример Иногда возникают ситуации, когда значение локальной переменной за пределами блока, в котором она объявлена. Как быть...

Область видимости переменных - C++
Здравствуйте. Столкнулся со следующей проблемой: есть файл main.cpp: int a, b; #include &quot;class.h&quot; int main() { ...

Область видимости в классах - C++
Почему следующий пример выдает такой результат: Bar::testPrivate Bar::testPublic Я полагал он должен вывести: ...

Область видимости в библиотеках - C++
Есть 2 либы с одинаковыми классами Первая: ----file t1.h ----- #ifndef LOG1_H #define LOG1_H #include &lt;string&gt;

Область видимости переменной - C++
#include &lt;iostream&gt; int main() { int i = 5; for(int i = 0; i &lt; 5; i++) { //здесь } return 0;


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
09.01.2013, 21:22     Область видимости Protected #2
Цитата Сообщение от Dark Alchemist Посмотреть сообщение
Еcть некий класс player и есть в нем переменная id в области паблик.
Прям в паблике?
Цитата Сообщение от Dark Alchemist Посмотреть сообщение
C++
1
2
protected: 
char name[40],id;
Dark Alchemist
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 7
09.01.2013, 21:25  [ТС]     Область видимости Protected #3
Сорри, описАлся)))
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
09.01.2013, 21:28     Область видимости Protected #4
Можете написать метод типа:
C++
1
2
3
char GetID(){
   return id;
}
Dark Alchemist
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 7
10.01.2013, 09:07  [ТС]     Область видимости Protected #5
А можно поподробнее пожалуйста, как это в моем коде должно выглядеть
Yandex
Объявления
10.01.2013, 09:07     Область видимости Protected
Ответ Создать тему
Опции темы

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