C語言中的const變量框架
C語言中const變量是隻讀變量,有本身的存儲空間函數
C++中的const常量spa
可能分配存儲空間,也可能不分配存儲空間 指針
當const常量爲全局,而且須要在其它文件中使用對象
當使用&操做符取const常量的地址繼承
佔位符,須要賦值,即便不用;若是用默認值給佔位符,調用此函數,可賦值,也可不賦值內存
/*引用 1、普通引用必須初始化,引用時依賴於某個對象資源
2、引用作函數參數時,聲明時不需初始化編譯器
3、能夠給引用再次添加應用*/編譯
int a =10;
int& b = a;
int &c = b;
cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;
b = 20;
testRefs(a,b);
cout<<"a="<<a<<" b="<<b<<endl;
int m,n;
testRefs(m,n);
cout<<"m="<<m<<" n="<<n<<endl;
/*常量指針,指向的內存空間不可修改,指向能夠修改 const int *p1 */
int a = 10,b = 11;
const int *p1 = &a;
cout<<*p1<<endl;
//*p1 = 20;
p1 = &b;
cout<<*p1<<endl;
/*指針常量,指針的指向不可修改,指向的內存空間能夠修改
int * contst p2 */
int m=20,n=22;
int * const p2 = &m;
cout<<*p2<<endl;
//p2 = &n;
*p2 = 55;
cout<<*p2<<endl;
父類指針(引用)指向子類對象 (子類中含有父類沒有的東西)
子類對象初始化父類對象
先調用父類的構造函數,在調用子類的構造函數
先析構子類的析構函數,在調用父類的析構函數
多態定義:一樣的調用語句,有多種不一樣的調用方式
多態的條件:
一、有繼承
二、有虛函數重寫 (在基類中的函數上加virtual關鍵字,子類可寫也可不寫)
三、父類指針(父類引用)指向子類對象
靜態聯編:在編譯器編譯階段,已經決定了函數的調用(不寫virtual關鍵字,是靜態聯編)
動態聯編:在運行階段,根據具體的對象(具體的類型),執行不一樣對象的函數,表現爲多態
一、封裝突破C函數的概念,用類作函數參數時候,能夠使用對象的屬相和方法
二、繼承代碼的服用
三、多態能夠提早搭好框架,讓後來人直接重寫本身的函數,框架自動調用後來寫的函數 面向將來
一、虛析構函數,在析構基類資源時,將派生類的資源也一塊兒析構
二、虛函數 ,只有virtual ;既有定義,也有實現的代碼(在.h實現須要virtual關鍵字,在.cpp中實現是不須要);包含虛函數的能夠定義其對象
三、純虛函數 ,必須有virtual和=0 ;只有定義,沒有實現(在.h實現須要virtual關鍵字,在.cpp中實現是不須要);包含純虛函數的不能夠定義其對象