2017-02-11 122 views
-1

我正在執行一個最小堆,它具有在子節點之間保存最大密鑰的額外屬性。 我有一個節點類,如果節點是葉,我希望它指向自己。 喜歡的東西:一個類內的指針可以指向這個嗎?

class Node 
{ 
    public: 
    void update max() 
    { 
     if ((left==NULL)&&(right==NULL)) 
      max=this; 
    } 


    private: 
    Key* key; 
    Value* val; 
    Node* left; 
    Node* right; 
    Node* max; 
} 

的原因是,現在它指向NULL,這讓我查過很多次,如果max是比較鑰匙之前NULL。 我還應該提到,我使用了所有這些指針,因爲Key和Value是純虛擬的,並且Node有一個我將使用的派生類。 無論如何..是否有可能有一個成員變量指向這個?

+1

_「是否有可能有一個成員變量指向這個?」_你爲什麼認爲這是不可能的?聽起來像你在問XY的問題。澄清你的實際問題是什麼。 –

+1

你有沒有試過編譯和運行它? –

+0

'max'是一個指針。 'this'是一個指針。你也不想成爲一個指針嗎? – user4581301

回答

0

This根據定義,它是對象自身保持的引用/指針。
什麼都不能禁止將參考值保存到其他東西

相關問題