2012-01-18 55 views
0

我不知道這段代碼是怎麼回事。這是來自我必須瞭解的一段代碼。這段C++代碼是怎麼回事? (Resolution operator with inheritance?!?)

orange::orange(): 
    hello_short(false), 
    hello_long(false), 
    foo(NULL), 
    foo2(NULL), 
    quiet(false) 
{ 
    res = NULL; 
    good = true; 
} 
+0

對於構造函數名稱後的奇怪冒號,請參見[本FAQ文章條目](http://stackoverflow.com/questions/1711990/what-is-this-weird-colon-member-syntax-in-the-constructor )。 – sbi 2012-01-18 19:03:57

回答

1

它初始化與給定值的類成員(hello_shortfalsehello_long將是false,foo將是NULL等),將res設置爲NULL並將good設置爲true

初始化列表總是在執行構造函數(即花括號內的代碼)之前完成

此外,還有一個語法錯誤:在foo2(NULL)之後,應該出現逗號。