cpp class access array member by different name

#include <iostream>

class MyClass {
public:
    int myArray[5];

    int& operator[](int index) {
        return myArray[index];
    }
};

int main() {
    MyClass obj;

    // Step 1: Accessing array member using the array's original name
    obj.myArray[2] = 42;
    std::cout << "Step 1: " << obj.myArray[2] << std::endl;

    // Step 2: Accessing array member using a different name through an index operator overloading
    obj[2] = 99;
    std::cout << "Step 2: " << obj[2] << std::endl;

    return 0;
}