explicit:用單引數建構函式顯示型別轉換,防止編譯器的隱式轉換。
下例:
class cxstring // 使用關鍵字explicit的類宣告, 顯示轉換
cxstring(const char *p)
};
// 下面是呼叫:
cxstring string1(24); // 這樣是ok的
cxstring string2 = 10; // 這樣是不行的, 因為explicit關鍵字取消了隱式轉換
cxstring string3; // 這樣是不行的, 因為沒有預設建構函式
cxstring string4("aaaa"); // 這樣是ok的
cxstring string5 = "bbb"; // 這樣也是ok的, 呼叫的是cxstring(const char *p)
cxstring string6 = 'c'; // 這樣是不行的, 其實呼叫的是cxstring(int size), 且size等於'c'的ascii碼, 但explicit關鍵字取消了隱式轉換
string1 = 2; // 這樣也是不行的, 因為取消了隱式轉換
string2 = 3; // 這樣也是不行的, 因為取消了隱式轉換
string3 = string1; // 這樣也是不行的, 因為取消了隱式轉換, 除非類實現操作符"="的過載
學習筆記1
struct test test int x void fun class test1 test1 int x void fun int main void test1 a 行1 a.fun 行2 test1 b 行3 b.fun 行4 test c 行5 c.fun 行6 test d 行7 d....
學習筆記1
1 字串原地逆序 使用臨時變數 void reverse string s 5 求平均值 避免溢位 int f int x,int y 6 楊氏矩陣 bool young int a m n int x return false 7 十進位制轉十六進製制 string decimaltohexade...
學習筆記1
第二單元 linux的基本操作 1.改變使用者的密碼 passwd命令 注 a.只有root使用者可以修改其他使用者的密碼。普通使用者只能修改自己的密碼,且密碼必須設定地較為複雜,否則修改不成功 b.若執行passwd命令時後面不加使用者名稱,表示的是修改當前使用者的密碼。2.系統使用者的分類 注 ...