2012-01-18 74 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)之后,应该出现逗号。