1.關於函式位址
class a
void h()
virtual void g() = 0;
};int main()
;mike = jack;
4.乙個類的成員變數列表中包含另乙個類的物件,叫做包含(包容)。
10.傳遞陣列的3種方式
1)void func(int a);
2)void func(int a[5]);
3)void func(int *a);
void func1(int a, int n);
void func2(int a[5], int n);
void func3(int *a, int n);
int main()
void func1(int a, int n)
u; int k;
}a;int main()
分析:輸出0
x和k共用乙個儲存單元,語句
a.k=0;
覆蓋掉了
a.u.x的值。
6.delete和delete的區別:
delete p 是刪除釋放乙個單元,delete p 是釋放 多個單元,具體的資料目是查系統的分配表得到的。
對於內建型別來說,delete和delete 是一樣的
事實上new和delete都是兩步操作,分配(釋放)堆記憶體和呼叫構造(析構)函式,
對於堆記憶體的釋放,確實不需要做額外的事情,delete和delete 無差別,
區別就在於呼叫析構函式這一步,如果用delete只會呼叫第乙個物件的析構,只有呼叫delete才會呼叫全部的析構
11.基類的虛函式不進行例項化,就是抽象類。抽象類又叫adt,它不能用來建立具體的物件
有純虛函式的類都是抽象類
從抽象類派生出的新類必須為每個純虛函式賦予功能,否則仍只是乙個抽象類
不能定義乙個抽象類的物件,只能定義乙個指向抽象類的指標
指向抽象類的指標可以動態地指向其子類的物件,從而實現程式的多型
12.virtual float length() = 0;
像這個在虛函式後面加個「=0」,就是純虛函式
純虛函式徹底無任何功能,也不能直接呼叫,只能被子類繼承並賦予新功能後才能使用
13.在乙個類中定義了乙個新的型別,這個型別只能在該類用使用。新型別稱為巢狀類
14.endl在執行時,做兩件事情:
1)輸入'\n'
2)重新整理緩衝區flush()
解釋:執行換行符\n與執行結束符endl,最大的區別在處理檔案上,以檔案輸出流(ofstream)為例。
當流的緩衝區未滿時,執行'\n'是不會馬上寫到檔案裡。但是執行endl會強行把緩衝區裡的內容寫入檔案中。
15.輸出資料到檔案的步驟:
1)包含標頭檔案stream
2)建立ofstream物件:ofstream ocout;
3)將物件與檔案關聯:ocout.open("123.txt");
4)使用該物件輸出資料:ocout<<"abc";
5)關閉與檔案的連線:ocout.close;
16.讀取檔案中資料的步驟:
1)包含標頭檔案stream
2)建立ifstream物件:ifstream icin;
3)將物件與檔案關聯:icin.open("123.txt");
4)使用該物件輸入資料:icin>>temp;
5)關閉與檔案的連線:icin.close;
17.將資料輸出到檔案時,可以選擇兩種輸出方式:
1)二進位制:空間小,速度快,精度高
18.同時開啟檔案的數目跟所作業系統而定,一般20個左右
敏捷問題待解決記錄
1 迭代計畫 1 把使用者故事分解成任務 2 站立會議 1 決定多久調整一次團隊工作量 1 scrum 定義 scrum是一種敏捷方法的框架,它提供了一系列管理專案的指導原則 角色 po sm team scrum價值 可視性 檢驗和適應性 2 extreme programmaing xp 極限程...
部分筆記記錄 待整理
cookie 協議 網域名稱 埠 cookies同源策略 網域名稱相同就ok 一般同源策略要區分 協議 網域名稱 埠 corsfilter遠端同源策略處理跨域 h5 localstorage 本地儲存 5m 解決cookies儲存不足問題 js json.stringify jsjson轉換問題 l...
待總結 IOCP相關
i o完成佇列 先進先出 q1 等待執行緒佇列 後進先出 q2 已釋放執行緒列表 活動執行緒 l1 已暫停執行緒列表 掛起執行緒 l2 1.當執行緒呼叫getqueuedcompletionstatus阻塞時,該執行緒被放入等待執行緒佇列q2中。io 完成埠核心物件根據此佇列知道有哪些執行緒在等待處...