Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
axela002
52 / 45 / 42
Регистрация: 12.03.2017
Сообщений: 479
Завершенные тесты: 5
1

Обращение к другому классу

30.09.2017, 05:14. Просмотров 737. Ответов 7
Метки нет (Все метки)

Добрый день , такой вопрос, пишу код на ООП. Есть класс игрока , он создается при заходе в программу, есть класс предметов, он создается лишь в случае, если игрок покупает предмет. Но я не могу понять, как мне в реализации элемент-функции класса предметов где эта функция будет добавлять купленный предмет в класс игрока в контейнер с его предметами. Как быть с классом игрока в этой функции т.к я же не знаю заранее какое будет имя у объекта класса игрока ,чтобы в этой функции к нему обратиться. Или просто сделать сразу одно имя объекту и всё? Или это не очень профессионально и это так не работает?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2017, 05:14
Ответы с готовыми решениями:

Приведение типа к другому классу
Предположим есть класс class A { char a; void foo(); }; можно...

Передача переменной из цикла другому классу
Есть цикл, каждое новое значение переменной нужно передавать в метод др....

Наследование: как передать массив одного класса другому классу?
Доброе время суток, нужна помощь. Не могу сотворить чудо. Сомневаюсь уже во...

Обращение к классу
Привет всем. Прохожу тест, и нашёл такой вопрос. Вот я не совсем понял....

Обращение к классу, без использования объектов
Добрый день! Создан класс: class classname { public: string s1; ...

7
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,045
30.09.2017, 07:06 2
Сделай класс Игра (в котором будут и игроки и предметы), чтобы была связь между твоими классами.
0
axela002
52 / 45 / 42
Регистрация: 12.03.2017
Сообщений: 479
Завершенные тесты: 5
30.09.2017, 07:12  [ТС] 3
Цитата Сообщение от nd2 Посмотреть сообщение
Сделай класс Игра (в котором будут и игроки и предметы), чтобы была связь между твоими классами.
Так не получится, в задание указано, чтобы это были 2-а отдельных класса.
Т.е не получится никак что ли?
0
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,045
30.09.2017, 07:20 4
Цитата Сообщение от axela002 Посмотреть сообщение
Т.е не получится никак что ли?
Я этого не говорил. Просто это первое, что приходит в голову.
Цитата Сообщение от axela002 Посмотреть сообщение
чтобы это были 2-а отдельных класса.
Они и будут отдельными, но будет третий класс, с объектами этих двух отдельных классов.
1
woldemas
443 / 314 / 173
Регистрация: 06.09.2013
Сообщений: 950
30.09.2017, 09:29 5
axela002, вообще непонятно в чем проблема, такое ощущение что вы пользуетесь только глобальными переменными и не знаете про передачу параметров в методы
0
d7d1cd
204 / 133 / 49
Регистрация: 30.06.2011
Сообщений: 1,257
Завершенные тесты: 1
30.09.2017, 10:52 6
Функция, которая будет добавлять предмет игроку, должна принимать параметр типа "предмет". Очевидно же вроде как...
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,672
30.09.2017, 11:07 7
Лучший ответ Сообщение было отмечено axela002 как решение

Решение

Цитата Сообщение от axela002 Посмотреть сообщение
Но я не могу понять, как мне в реализации элемент-функции класса предметов где эта функция будет добавлять купленный предмет в класс игрока в контейнер с его предметами. Как быть с классом игрока в этой функции т.к я же не знаю заранее какое будет имя у объекта класса игрока ,
значит не понимаешь основ ООП
класс это описание а объект это сущность
вот наброски реализации

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
class Obj
{
........
}
 
 
class Plaers
{
 vector <Obj> objs(10);
public:
 void AddObj(Obj obj){objs.push_back(obj);};// функция добавления предмета игроку
 
}
 
int Main()
{
Plaers A;
Plaers B;
Obj a1;
Obj a2;
A.addObj(a1); // добавили игроку A 1 предмет
A.addObj(a2);// добавили игроку A 2 предмет
B.addObj(a1);// добавили игроку B 1 педмет
 
 
 
}
код не рабочий, просто чтобы показать принцип
1
axela002
52 / 45 / 42
Регистрация: 12.03.2017
Сообщений: 479
Завершенные тесты: 5
30.09.2017, 11:25  [ТС] 8
Спасибо всем
0
30.09.2017, 11:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2017, 11:25

Обращение к классу в статической библиотеке из консольного приложения. С++
По условию в решении 2 проекта: статическая библиотека и консольное приложение....

Обращение к наследуемому классу с кодом в отдельно cpp
Приветствую. Не могу обратится к наследуемому классу из самой программы. ...

Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту?
Это можно : Array a(10); a.set(0,5); Array b(a); А это нельзя : Array...


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

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

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