I'm using 123*100 and the answer I keep getting is 123. Help please.
Your algorithm does nothing to the internal representation of your integer which I am assuming is a string due to the .length() call. Although you work out various products etc. you are not storing them anywhere, hence when you print your string at the end it is unchanged.
Think about doing something like...
void hughint::operator*=( const hughint& y )
string tempint = localintstring;
// do your calculations by extracting each digit of the string
// as you currently are but this time usign tempint as the source
// store the results in localintstring
t1=(int)get(i)-(int)('0'); // rather that get(i) extract the char at
// offset i from tempint and use it in the
// calculation instead.
// having worked these values out what are your doing with
// them? nothing, you need to determine where to store them
Also I suspect you have some issues with the algorithm chosen, although I am not going to correct those for you.