2011-09-04 72 views
1

这里是代码:,多继承类中的下划线标记是什么意思?

PiGenerator::PiGenerator(PP_Instance instance) 
: pp::Instance(instance), 
    graphics_2d_context_(NULL), 
    pixel_buffer_(NULL), 
    flush_pending_(false), 
    quit_(false), 
    compute_pi_thread_(0), 
    pi_(0.0) { 
    pthread_mutex_init(&pixel_buffer_mutex_, NULL); 
} 

或者是这甚至多继承?有人能够启发我吗?

回答

4

它可能(可能)只是一个约定:经常,private变量声明了一个尾部下划线,以便人们可以很容易地识别它们。

4

不,这不是特定于多重继承。这只是原程序员决定制定的命名惯例。

1

那些实际上是字段的类PiGenerator。它们都构成初始化列表,它在输入构造函数之前向类的各个字段提供值。在这个例子中,pp::Instance是唯一涉及的基类构造函数,其余都是字段初始化。

+0

错了。初始化列表对成员(字段)和基类使用几乎相同的语法。有一个很大的例外:成员名称不能被限定。即'pp :: Instance'不能成为成员,但必须是基类。 – MSalters

+0

哎呀,你是对的。出于某种原因,我把它看作没有冒号的ppInstance。更新我的答案。 –

+0

对不起,还是错的。初始化程序列表包含字段和基类。所以你不能说“其余的都是初始化列表”。特别是,没有必要的订单。您可以在初始化程序列表中自由混合基类和成员的初始化程序。 – MSalters