Сначала я попытаюсь объяснить мою ситуацию.У меня есть класс со структурой внутри него, и массив этого контейнера calss
class A
{
struct B
{
int I;
B *next;
};
B *objOfB; //Array of structures
B *lastB; //Pointer to last objOfB element
public:
//Method for adding values to objOfB
void addB(int i)
{
B *temp = new B;
temp->I = i;
temp->next = NULL;
if(ing == NULL)
{
last = temp;
objOfB = temp;
}
else
{
last->next = temp;
last = temp;
}
}
};
Массив объекта используется в файле некоторых функций
A * objA = A[100];
То, что я не могу понять, какпередать одно значение objOfB
.Есть простой пример, который будет идти от начала до конца objOfB
.
for (B *temp = objOfB; temp != NULL; temp = temp->next) {
cout << temp->I << endl;
}
Я хотел бы выполнить этот цикл в файле функций, но я не могу придумать метод, который не возвращает все objOfB
(используется в первой части цикла B *temp = objOfB;
).Вот методы, которые я создал для выполнения этого цикла:
B listOfBs() { return *objOfB; }
B toNextB() { return *objOfB->next; }
bool noLastB(){ return objOfB->next != NULL; }
И как это работает, его можно использовать в цикле:
for (B *temp = listOfBs(); noLastB(); temp = toNextB()) {
cout << temp->I << endl;
}
Однако я понимаю, что все 3 методане подходит для этой петли.Поэтому мне нужен какой-то метод для возврата значения, а другой - чтобы сказать, что следует прочитать следующее значение ... Надеюсь, не яснее, чего я пытаюсь достичь.
Как передать метод класса динамических массивов класса контейнера с помощью метода?