我很惊讶编译器自动将一个Integer转换为我自己定义的Class
CCoolClass(long numerator = 0, long denominator = 1);
Run Code Online (Sandbox Code Playgroud)
我确实超载了运算符+这样
friend CFraction operator + (CCoolClass left, CCoolClass right);
Run Code Online (Sandbox Code Playgroud)
为什么这会起作用而不会导致编译器错误?从整数到CCoolClass的auto-typecast来自哪里?
CCoolClass a = CCoolClass(2,3) + 3;
Run Code Online (Sandbox Code Playgroud)
我明白这很酷,但我很惊讶.问候