C ++。奇怪的构造函数声明?

时间:2013-10-02 14:57:46

标签: c++ inheritance parameters constructor parent

我使用的是MonkSVG lib。以下是代码示例:

link

以下是代码的一部分:

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
    ,   _mode( kGroupParseMode )
    ,   _current_group( &_root_group ) 
    ,   _blackBackFill( 0 )
    ,   _batch( 0 )
    ,   _use_opacity( 1 )
    ,   _has_transparent_colors( false )

据我所知,第一个 - ISVGHandler() - 表示调用没有params的父构造函数。

所以:

  • 其他参数是什么意思?

  • _current_group( &_root_group )表示我需要传递一个额外的参数,不是吗?

  • 例如,_batch(0)batch = 0;之间是否存在差异?

  • 订单有任何影响吗?

1 个答案:

答案 0 :(得分:0)

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
{
    _mod = kGroupParseMode;
    _current_group = &_root_group;
    _blackBackFill = 0;
    _batch = 0;
    _use_opacity = 1;
    _has_transparent_colors = false;
}

=> shortcut =>

OpenVG_SVGHandler::OpenVG_SVGHandler()
    :   ISVGHandler()
    ,   _mode( kGroupParseMode )
    ,   _current_group( &_root_group ) 
    ,   _blackBackFill( 0 )
    ,   _batch( 0 )
    ,   _use_opacity( 1 )
    ,   _has_transparent_colors( false )
{
}

订单有一些影响

Class::Class()
    :  b(a),    // b == 10, 0, or random value ?? Compiller usually raises warrning
       a(10)
{
}