I want to make three[0]='p'; work in the code below. I think I have to make an operator overloading for that but I don't know how to do. What I want to get is to change first index of "Lottery winner!" to 'p'. (To get "pottery winner!").
#include<iostream>
#include<cstring>
using namespace std;
class str
{
    char* a;
 public:
    str(char *aa=""){
    this->a = new char[strlen(aa)+1];
    strcpy(a,aa);
}
~str(){
    delete a;
}
friend ostream& operator<<(ostream &out, str &aa);
friend istream& operator>>(istream &in, str &aa);
};
ostream& operator<<(ostream &out, str &aa){ 
    out<<aa.a;
    return out;
}
istream& operator>>(istream &in, str &aa){
    in>>aa.a;
    return in;
}
void main(){
  str three("Lottery winner!");
  three[0]='p';
  cout<<three<<endl;
}
 
     
     
    