I\'ve seen examples of this all over the place:
int i = 2;
char c = i + \'0\';
string s;
s += char(i + \'0\');
However, I have not yet seen
(char)(i+c) where c is a char gives you a new char with an ascii value equal to (ascii value of c) + i. Since the ascii values of the digits 0-9 are sequential, i+'0' gives you the char corresponding to i, as long as i lies in the appropriate range.
EDIT : (i+c) is an int, as Jarod42 pointed out. Added a cast to maintain correctness.