#include <iostream>
using namespace std;
class A{
public:
int x, y, z;
A() {
this->x = 0;
this->y = 0;
this->z = 0;
}
~A() { }
void init (int x_in, int y_in, int z_in){
this->x = x_in;
this->y = y_in;
this->z = z_in;
}
int sum(){
return this->x + this->y + this->z;
}
void show_result() {
int result = sum();
cout << "sum = " << result << endl;
}
};
enum { A_CAR, A_CAT, A_CANADA, A_NUM };
class B {
public:
A A_arr[A_NUM];
B() {
A_arr[A_CAR].init(0, 1, 2);
A_arr[A_CAT].init(1, 2, 3);
A_arr[A_CANADA].init(8, 7, 6);
}
~B() {}
void show_all_result() {
for (int i = 0; i < A_NUM; i++) {
A_arr[i].show_result();
}
}
};
int main() {
B obj_B;
obj_B.show_all_result();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEF7CnB1YmxpYzoKICAgIGludCB4LCB5LCB6OwoKICAgIEEoKSB7CiAgICAgICAgdGhpcy0+eCA9IDA7CiAgICAgICAgdGhpcy0+eSA9IDA7CiAgICAgICAgdGhpcy0+eiA9IDA7CiAgICB9CiAgICAKICAgIH5BKCkgeyB9CgogICAgdm9pZCBpbml0IChpbnQgeF9pbiwgaW50IHlfaW4sIGludCB6X2luKXsKICAgICAgICB0aGlzLT54ID0geF9pbjsKICAgICAgICB0aGlzLT55ID0geV9pbjsKICAgICAgICB0aGlzLT56ID0gel9pbjsKICAgIH0KCiAgICBpbnQgc3VtKCl7CiAgICAgICAgcmV0dXJuIHRoaXMtPnggKyB0aGlzLT55ICsgdGhpcy0+ejsKICAgIH0KCiAgICB2b2lkIHNob3dfcmVzdWx0KCkgewogICAgICAgIGludCByZXN1bHQgPSBzdW0oKTsKICAgICAgICBjb3V0IDw8ICJzdW0gPSAiIDw8IHJlc3VsdCA8PCBlbmRsOwogICAgfQp9OwoKCmVudW0geyBBX0NBUiwgQV9DQVQsIEFfQ0FOQURBLCBBX05VTSB9OwoKY2xhc3MgQiB7CnB1YmxpYzoKICAgIEEgQV9hcnJbQV9OVU1dOwoKICAgIEIoKSB7CiAgICAgICAgQV9hcnJbQV9DQVJdLmluaXQoMCwgMSwgMik7CiAgICAgICAgQV9hcnJbQV9DQVRdLmluaXQoMSwgMiwgMyk7CiAgICAgICAgQV9hcnJbQV9DQU5BREFdLmluaXQoOCwgNywgNik7CiAgICB9CiAgICAKICAgIH5CKCkge30KICAgIAogICAgdm9pZCBzaG93X2FsbF9yZXN1bHQoKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBBX05VTTsgaSsrKSB7CiAgICAgICAgCUFfYXJyW2ldLnNob3dfcmVzdWx0KCk7CiAgICAgICAgfQogICAgfQp9OwoKCmludCBtYWluKCkgeyAKCiAgICBCIG9ial9COwoKICAgIG9ial9CLnNob3dfYWxsX3Jlc3VsdCgpOwp9Cg==