C QT學習筆記 1

2021-09-10 03:30:36 字數 787 閱讀 8418

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.系統使用者的分類 注 ...