According to the C++ conversion rules, If for example an int is multiplied by a double then both will be first converted into doubles then the multiplication will be done.
int a = 5;
double b = 0.5;
cout<< a * b; // 2.5
On the other hand, multiplying an int by an int doesn't require converting and the multiplication can be done immediately resulting in an int.
int a = 5;
int b = 5;
cout<< a * b; //25
Applying the these rule, I thought that multiplying a char by a char won't require converting and the multiplication will result in a char (1 byte). Thus, the result will overflow for the following sample
char a = 'a'; // 97
char b = 'b'; // 98
cout<< a * b; // 9506 - Doesn't overflow!
However, this doesn't seem to be the case!
Is there something special about multiplying two characters?.