C++?е?explicitkeyword
???????????? ???????[ 2014/7/18 15:02:00 ] ????????C++ net
????????????????????????keywordexplicit??????????
????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'
?????????Щ????????????????????????????У????????easy???′??????????????????????????????????????????????в?????????????????????????????????????????????????????????????????????????????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; //???
}
|
?????????????е??????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????
???????????????????????????explicitkeyword???????????????????????????????explicit???????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11