建構函式後面的冒號(:)是起到分割做用,是類中給成員變數賦值的方法,更適用於成員變數為常量const型的。類子
>error(const char* thewhere,const char* thewhy):
>why(thewhy),where(thewhere){}
>protected:
const string why;
const string where;
冒號是把why 和 where 賦值,每次呼叫建構函式時把傳進引數的值賦給它們,所以why(thewhy),where(thewhere)中的
thewhy 和建構函式中引數thewhy保持一致,同樣thewhere和建構函式中引數thewhere保持一致
冒號還用於繼承父類如:
class lzbb:public lzb;
lzb是父類,lzbb是子類;
基類和派生類的建構函式:
當呼叫派生類時首先會執行基類的建構函式,在執行派生類的建構函式,所以如果我們想給基類的建構函式的引數傳值的話也可以用冒號!如:
基類的建構函式:lzb(int a){cout《派生類的建構函式:lzbb(int a,int b);
當我們開始呼叫基類建構函式,首先呼叫了lzb,那麼我們可以給lzb中的a賦值
如下寫法:lzbb::lzbb(int a,int b):lzb(a){cout《此時我們傳如實參時首先會把a值賦值給lzb中的a,然後輸出的b等於傳入給b的實
C 雙冒號的用法
1 作用域符號 前面一般是該類名稱,後面是該類的成員名稱。c 為避免不同的類有相同的成員而採用作用域的方式進行區分,eg a,b表示兩個類,在a,b中都有成員member,那麼 a member表示a中的成員member,b member表示b中的成員member。2 全域性作用域符號 當全域性變數...
C 雙冒號的用法
1 作用域符號 前面一般是該類名稱,後面是該類的成員名稱。c 為避免不同的類有相同的成員而採用作用域的方式進行區分,eg a,b表示兩個類,在a,b中都有成員member,那麼 a member表示a中的成員member,b member表示b中的成員member。2 全域性作用域符號 當全域性變數...
c 中冒號( )和雙冒號( )的用法
1.冒號 用法 1 表示機構內位域的定義 即該變數佔幾個bit空間 typedef struct 2 建構函式後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。struct 3 public 和private 後面的冒號,表示後面定義的所有成員都是公有或...