1: 重載構(gòu)成的條件:函數(shù)的參數(shù)類型、參數(shù)個數(shù)的不同,才能構(gòu)成函數(shù)的重載。
2: protected方法不能在類外調(diào)用。
? ? ? ? ? ? ? ?c++ 的繼承訪問特性
繼承方式\成員類型 ? ? ? ? ?public ? ? ?protected ? ?private
public ? ? ? ? ? ? ? ? ? ? ? ? ? public ? ? ? protected ? ?無法繼承
protected ? ? ? ? ? ? ? ? ? ? ?protected ?protected ? ?無法繼承
private ? ? ? ? ? ? ? ? ? ? ? ? ?private ? ? ? private ? ? ? 無法繼承
3:構(gòu)造的時候基類先構(gòu)造,析構(gòu)的時候子類先析構(gòu)。
4:函數(shù)的覆蓋發(fā)生在子類與父類之間
5:多態(tài)性:(傳子類對象)在基類函數(shù)前邊加virtual,子類有的調(diào)用子類的,子類沒有的調(diào)用父類的。當(dāng)c++編譯器在編譯的時候,發(fā)現(xiàn)Animal類的breathe()函數(shù)是虛函數(shù),c++會采用遲綁定的技術(shù),在運行時,根據(jù)對象的類型,來確認(rèn)調(diào)用那一個函數(shù)。純虛函數(shù)。virtual void breathe()=0;
6:引用是變量的別名。
int a=6;int &b=a;b=5;// 引用定義的時候就初始化,引用的地址不可更改,指針是可以更改的。
change(x,y); change(&a,&b)
7:雙引號包含,""從當(dāng)前目錄查找,<>從系統(tǒng)目錄下查找。
8:
編譯的時候,先編譯(compile)每個cpp,最后鏈接(link)成exe
預(yù)防重復(fù)定義,用預(yù)編譯指令符。
# ifndef ? xxx ? ? ? ? ? ? ? ? ? ? ? //如果沒有定義 ? xxx要不常用
# define ?xxx ? ?1 ? ? ? ? ? ? ? ? ?//定義 ? xxx為 ? ??1
class point
{
};
# endif ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 結(jié)束if
9:靜態(tài)方法不屬于類的具體對象,只屬于類本身。靜態(tài)成員函數(shù),不能引用非靜態(tài)變量。靜態(tài)變量,必須初始化,
10:lesson 5文字編程。 定時器 SetTimer(定時器標(biāo)識1,多少秒執(zhí)行單位毫秒,回調(diào)函數(shù)),增加WM_TIMER消息響應(yīng)函數(shù)。
void CTextView::OnTimer(UINT nIDEvent)
{
//nIDEvent 就是設(shè)置定時器的標(biāo)識。
}
11:mfc消息分類
一 標(biāo)準(zhǔn)消息
除WM_COMMAND之外,所有以WM_開頭的消息。
從CWnd派生的類,都可以接收到這類消息。
二 命令消息
來自菜單、加速鍵或工具欄按鈕的消息。這類消息都以WM_COMMAND呈現(xiàn)。在MFC中,通過菜單項的標(biāo)識(ID)來區(qū)分不同的命令消息;在SDK中,通過消息的wParam參數(shù)識別。
從CCmdTarget派生的類,都可以接收到這類消息。
三 通告消息
由控件產(chǎn)生的消息,例如,按鈕的單擊,列表框的選擇等均產(chǎn)生此類消息,為的是向其父窗口(通常是對話框)通知事件的發(fā)生。這類消息也是以WM_COMMAND形式呈現(xiàn)。
從CCmdTarget派生的類,都可以接收到這類消息。
12:模態(tài)對話框,非模態(tài)對話框
四:對話框控件訪問的七種方式
1: GetDlgItem()->Get(Set)WindowText()
2:GetDlgItemText()/SetDlgItemText()
3:GetDlgItemInt()/SetDlgItemInt()
4:將控件和整型變量相關(guān)聯(lián)
5:將控件和控件變量相關(guān)聯(lián)
6:SendMessage()
7:SendDlgItemMessage()