以下のコードがどのように実行されるかを理解したいと思います。aproxy は mPtr から継承していますか? 構造体配列は構造体 aproxy でメソッド aproxy を返していますか?
struct aproxy {
aproxy( int & r ) : mPtr( & r ) {} // is this inheritance?
void operator = ( int n ) {
if ( n > 1 ) {
throw "not binary digit";
}
*mPtr = n;
}
int * mPtr;
};
struct array {
int mArray[10];
aproxy operator[]( int i) {
return aproxy( mArray[i] ); // what does this line do?
}
};
int main() {
try {
array a;
a[0] = 1;
a[0] = 42;
}
catch( const char * e ) {
cout << e << endl;
}
}