我将尝试首先解释我的情况。我有一个里面有结构的类和这个容器类的数组
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;
}
但是我知道这三种方法都不适合这个循环。所以我需要一些方法来返回值,另一种方法来告诉应该读取下一个值......希望不是更清楚我想要实现的目标。
如何使用方法传递结构值的容器类动态数组?