/*
Forum: https://forum.arduino.cc/t/trying-to-assign-an-object-to-an-array-index/1424700
Wokwi: https://wokwi.com/projects/452877818267674625
ec2021
*/
class Dummy {
private:
byte value;
public:
Dummy(byte v): value(v){};
byte getValue(){return value;};
};
Dummy test1(1),test2(2),test3(3);
Dummy testB[] = {test1, test2, test3};
constexpr int noOfTests = sizeof(testB)/sizeof(testB[0]);
Dummy* testX[noOfTests];
void setup() {
Serial.begin(115200);
testX[0] = &test1;
testX[1] = &test2;
testX[2] = &test3;
Serial.println("Separate Objects");
Serial.print(test1.getValue());
Serial.print('\t');
Serial.print(test2.getValue());
Serial.print('\t');
Serial.println(test3.getValue());
Serial.println("Array in Declaration");
for (int i=0;i<noOfTests;i++){
Serial.print(testB[i].getValue());
Serial.print('\t');
}
Serial.println("\nAssignment in Setup");
for (int i=0;i<noOfTests;i++){
Serial.print(testX[i]->getValue());
Serial.print('\t');
}
Serial.println();
}
void loop() {
// put your main code here, to run repeatedly:
}