Видно, что в приведенном ниже коде вызывается конструктор с параметром int
. Я знаю, что с TG41 все в порядке. Но почему нет short
? значение ASCII 'A'
дает 65, которое может вместить short
.
По каким критериям вызывается конструктор с параметром типа данных int
?
#include<iostream>
class RightData
{
int x;
public:
RightData(short data)
{
cout<< "Short" << endl;
}
RightData(int data)
{
cout<< "Int" << endl;
}
RightData(float data)
{
cout<< "Float" << endl;
}
~RightData()
{
cout<< "Final";
}
};
int main()
{
RightData *ptr = new RightData('A');
return 0;
}