#include <iostream>

using namespace std;

class String
{
public:
    String(char* str):p(str){};
    const char& operator[](size_t i) const { return p[i]; }
    char& operator[](size_t i)             { return p[i]; }
    operator const char* () const          { return p; }
    operator char* ()                      { return p; }
private:
    char* p;
};

int main() {
    char s[] = "123456";
    String name = s;
    std::cout << name[0] << std::endl;
    name[1] = '5';
    std::cout << name << std::endl;
}
