MFC學(xué)習(xí)筆記2--C++的重要性質(zhì)
來源:程序員人生 發(fā)布時(shí)間:2014-11-18 08:25:47 閱讀次數(shù):2717次
封裝(encapsulation):類及其成員:屬性,方法。
繼承(Inheritance):基類(base class),派生類(derived class)
this指針
虛函數(shù)與多態(tài)(Polymorphism)
Object slicing與虛函數(shù)
靜態(tài)成員(變量與函數(shù))
構(gòu)造函數(shù)與析構(gòu)函數(shù)
4種不同的對(duì)象生成方式(in stack,int heap,global,local static)
1.在堆棧中產(chǎn)生1個(gè)對(duì)象:
void MyFunc() {
CFoo foo;
...
}
2.在堆(heap)中產(chǎn)生1個(gè)對(duì)象:
void MyFunc() {
...
CFoo* pFoo = new CFOO();
}
3.產(chǎn)生1個(gè)全局變量(同時(shí)也必定是1個(gè)靜態(tài)變量):
CFoo foo;
4.產(chǎn)生1個(gè)局部靜態(tài)變量:
void MyFunc() {
static CFoo foo;
...
}
運(yùn)行是類型辨認(rèn)(RTTI)
宏 DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC
類 CRuntimeClass
動(dòng)態(tài)創(chuàng)建(Dynamic Creation)
RAM
術(shù)語Serialize:做有關(guān)文件讀寫的永久保存操作,并且實(shí)現(xiàn)1個(gè)虛擬函數(shù),就叫做Serialize.
宏 DECLARE_DYNCREATE, IMPLEMANT_DYNCREATE
類 CRuntimeClass
異常處理(Exception Handling)
C++導(dǎo)入了3個(gè)新的exception保存字:
1.try。以后跟隨1段以{}圈出來的程序代碼,exception可能在其中產(chǎn)生。
2.catch。以后跟隨1段以{}全出來的程序代碼,那是exception處理例程之所在。catch應(yīng)當(dāng)緊跟在try以后。
3.throw。這是1個(gè)指令,用來產(chǎn)生(丟出)1個(gè)exception。
MFC以以下宏仿真C++ exception handling:
TRY
CATCH(type,object)
AND_CATCH(type,object)
END_CATCH
CATCH_ALL(object)
AND_CATCH_ALL(object)
END_CATCH_ALL
END_TRY
THROW()
THROW_LAST()
THROW參數(shù)類型 對(duì)應(yīng) AfxThrow_函數(shù)
Template
C++中的template有兩種,分別針對(duì)function和class。
Template Function:
template <class T>
T power(T base, int exception)
Template Classes:
template <class T>
class CThree {
public:
CThree(T t1,T t2,T t3);
T Min();
T max();
private:
T a , b , c;
};
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)