命名空間:
1、如同區域性作用域和全域性作用域一樣,都是乙個作用域,解決命名衝突的問題。
2、命名空間可以巢狀定義也可以分塊定義,編譯器會將相同的命名空間進行合併。
這裡介紹一下作用域限定符::(如果是全域性的話就不用加)
命名空間 中成員的訪問方式:
1、命名空間+作用域限定符::成員名字
2、using+命名空間+作用域限定符::成員(相當於把它展開成全域性形式)
3、using+namespace+命名空間(容易造成命名衝突)
c++中的輸入輸出
所有c++的標頭檔案都屬於std這個命名空間
cout << a
c++中的輸出是cout.「<<」表示的是乙個流向關係,由變數輸出到乙個顯示屏(終端)
cin >> a
c++中的輸入是cin.「>>」表示的是乙個流向關係,由鍵盤輸入到變數當中
相對於c語言無需指定輸入輸出格式,並且可以連續輸入輸出
endl:換行
預設引數
是乙個「備胎」的作用。
定義引數的時候給乙個預設值。如果後來給賦值了,就用賦值後的數值,如果沒有就用預設值。
全預設:所有性擦按都有預設值
半預設:部分形參有預設值
void fun(int a,int b,int c = 3)
fun(1,2)至少傳2個引數
預設值要從右往左連續賦值,中間不能有間隔
預設引數要麼在宣告要麼在定義
預設值必須是常量或全域性變數
函式過載
函式名相同,引數不同,和返回值型別無關
引數不同(個數不同、型別不同、順序不同)
關於c++能支援函式過載c語言不支援的問題?
由於函式名修飾規則:底層演算法把函式名與引數 相結合,構造了了乙個底層全域性唯一的函式名
linux函式名修飾規則:_z+函式名字元 個數+函式名+引數型別首字母
z3dddii
c語言函式名修飾規則:+函式名
所以c語言不 支援函式過載
預處理——》編譯——》彙編——》鏈結
一般用於混合程式設計
今天,你物件導向了嗎?
關於武術絕招 我的武術老師告訴我他的絕招就是直拳,而且從第一天開始他就告訴我每天不低於五千次的訓練,當我把這個直拳練到非常快速的時候,這就是絕招了。開始我根本 不相信老師交給的絕招。後來在南韓練跆拳道,與世界第一號種子選手對話,才恍然大悟老師的話 他們把簡單的動作練的不可替代,而往往簡單的動作就是最...
物件導向,你入門了嗎?
我所接觸的程式設計師中,大約80 以上的人都在談物件導向 oo 當然大多數人談的都是物件導向程式設計 oop 談ooa ood的也有,不過好像很少!特別是在物件導向的三要素 封裝 繼承 多型 上更是說得頭頭是道,可是很奇怪 一旦叫他們用物件導向設計一套系統,這些人往往不知道從什麼地方開始了!物件導向...
今天你笑了嗎?
1 有次等公共汽車時,開過去一輛寶馬,旁邊一位高人對他身邊的人說 看,剛過去那輛就是ibm.2 我一朋友在聯通實習,一天,一老頭走近來,劈頭蓋臉就來句 給我辦張移動卡,好吧?然後我那朋友頭也不抬的就來句 師傅,有人來砸場子 3 同事去見客戶,可能是緊張,一開口便是 劉先生你好,請問你貴姓啊?汗啊 4...