[C++]Foreach Operator Overload
keywords: C++, Foreach Operator Overload
Example:
class TestClass01
{
public:
int ID;
};
class TestClass02
{
//********* [foreach operator overload] begin **********
const TestClass01* operator[](int Index) const
{
return Data[Index];
}
friend TestClass01** begin(const TestClass02& TC) { return TC.Data; }
friend TestClass01** end(const TestClass02& TC) { return TC.Data + TC.Size; }
//********* [foreach operator overload] end **********
void AddElement(TestClass01* Element)
{
//...other code
Data[Size] = Element;
Size++;
}
//...other code
TestClass01** Data;
int Size;
};
int main(char* args, int argn)
{
TestClass02 C2;
for (TestClass01* C1 : C2)
{
C1->ID = 11;
}
return 0;
}
“Strategy is a commodity, execution is an art.” ― Peter Drucker