1、默認參數(shù)
默認參數(shù)可以放在函數(shù)聲明或者定義中,但只能放在二者之一,通常我們都將默認參數(shù)放在函數(shù)聲明中(.h文件),因為如果放在函數(shù)定義(.cpp文件)中,那么將只能在函數(shù)定義所在地文件中調(diào)用該函數(shù)。
虛函數(shù)的默認參數(shù),虛函數(shù)是動態(tài)綁定的,但默認參數(shù)是靜態(tài)綁定的。
2、using聲明與指示
using 聲明:一個using聲明一次只能引入一個命名空間成員,從using聲明點開始,直到包含該using聲明的作用域結(jié)尾,聲明的名字僅僅在該作用域是可見的,外部作用域中相同的名字被屏蔽,它可以出現(xiàn)在全局作用域,局部作用域或者命名空間作用域中,類中的using聲明局限于使用其基類中定義的名字;
using指示:using指示使得特定命名空間的所有名字可見,從using指示點開始(這點同using聲明一致),對名字可以不加限定符使用,直到包含using指示的作用域的末尾;using指示具有將命名空間成員提升到包含命名空間本身和usin指示的最近作用域的效果;
3、命名空間
namespace中文意思是命名空間或者叫名字空間,傳統(tǒng)的C++只有一個全局的namespace,但是由于現(xiàn)在的程序的規(guī)模越來越大,程序的分工越來越細,全局作用域變得越來越擁擠,每個人都可能使用相同的名字來實現(xiàn)不同的庫,于是程序員在合并程序的時候就會可能出現(xiàn)名字的沖突。namespace引入了復(fù)雜性,解決了這個問題。namespace允許像類,對象,函數(shù)聚集在一個名字下。本質(zhì)上講namespace是對全局作用域的細分。