???????????????????м???????explicit??????
????explicit CExample(int iFirst?? int iSecond = 4);
???????CExample objFour = 12; ??????佫?????????????vs05?μ??????????????
????error C2440: 'initializing' : cannot convert from 'int' to 'CExample'
????Constructor for class 'CExample' is declared 'explicit'
?????????Щ?????????????????????????????У??????????????′??????????????????????????????????????????????в?????????????????????????????????????????????????????????????????????????????explicit?????????????????????????????????explicit????????????????á?
???????????Bjarne Stroustrup??????:
class String{
explicit String(int n);
String(const char *p);
};
String s1 = 'a'; //?????????????char->String???
String s2(10);   //?????????explicit String(int n);
String s3 = String(10);//?????????explicit String(int n);?????????????????
String s4 = "Brian"; //???????????????String(const char *p);?????????????????
String s5("Fawlty"); //?????????????String(const char *p);
void f(String);
String g()
{
f(10); //?????????????int->String???
f("Arthur"); //??????????????????f(String("Arthur"));
return 10; //???
}
?????????????е??????????????????????????
???????????????????????????????????????????????????????????????????????????????????
?????????????????е?????????explicit???????????????????????????????????explicit????????????????????????