Я пытаюсь написать свой код, не используя глобальную переменную, поскольку большинство людей сказали мне, что это была плохая привычка, поэтому я изменяю, как работает моя программа.C++ передача векторного класса другому классу
У меня возникла проблема с передачей нескольких экземпляров класса другому классу. Мне нужно иметь возможность модифицировать несколько экземпляров класса в другом классе.
Вот что я пытаюсь сделать, но терпеть неудачу в этом:
int main() {
Players *player[6];
//preparing 6 instances of Players() so I can loop through them in another class
for (int i = 0;i<6;i++){
player[i] = new Players();
}
player[0]->name = "fluffy";
Players.h
#ifndef PLAYERS_H_
#define PLAYERS_H_
#include <string>
#include <vector>
class Players {
public:
Players();
virtual ~Players();
std::string name;
bool hand;
int cif;
int id;
std::vector<int> autho;
std::vector<int> collec;
std::vector < std::vector <int> > puppet;
};
#endif /* PLAYERS_H_ */
Players.cpp
#include "Players.h"
Players::Players() {
// TODO Auto-generated constructor stub
name = "";
hand = false;
cif = -1;
id = -1;
}
Players::~Players() {
// TODO Auto-generated destructor stub
}
Теперь я хочу позвонить другой класс (неважно, какой), и я хочу передать ему многоуровневые классные игроки, чтобы он мог читать и выполнять модификацию данные в этих инстанцированных классах.
Например, класс с функцией, которая может читать проигрыватель [0] -> имя и изменить его «шкурку»
Как бы вы подойти к этому, не получая ошибки компилятора?
Я открыт для предложений по совершенно другому подойти к этому (я пытался использовать структуры переменных и передать его, но у меня другие проблемы, а)
отблагодарить вас, Kavén
Покажите свой код и ошибку, которую вы получаете. – melpomene
Не могли бы вы добавить текст ошибки в свой вопрос? –
Каков ваш «другой класс» и его метод, в который вы хотите передать свой множественный экземпляр? Покажите код этого. – simon