2011-09-04 70 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