c++ - Issue with Assignment Operator and Array Subscription operators -


i trying overload subscription operator , faced issue
example class e, did @ first is:

int e::operator[](int n){     if(n<length && n>0)         return data[n];     else         return 0;  } 

let have object of e ( ), , want return a[0]. operator works fine.
second thing wanted if want a[0] = 4.
need implement here? assignment operator? or subscription operator?
advice how that, thanks!

commonly subscript operator written 2 overloads: 1 read , 1 write. allows read in const contexts:

write overload:

int& e::operator[](size_t index) {     if( index >= lenght )         throw std::out_of_range("subscript out of range");     else         return data[n]; } 

read overload: (note const cualified)

int e::operator[](size_t index) const {     if( index >= lenght )         throw std::out_of_range("subscript out of range");     else         return data[n]; } 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -