標籤:

c++ 子類能否使用父類的類內定義類型?

class A

{

public:

enum Cmd{down,up,left,right};

Cmd cmd;

}

class B: public A

{

B()

{

Cmd cmd1 = down;//這裡可以成功嗎?

}

}


可以,因為A::Cmd是public或者protected的。但是我十分建議你使用enum class代替enum。


類中嵌套定義的類型能不能用,和類的成員函數一樣,看訪問級別。

定義為public的隨便用。

定義為protected的話,沒關係的外人不能用。

定義為private的話,只有自己的成員和friend能用。

你這個Cmd定義為public,不僅子類能用,沒有關係的外人也能用。


試試不就知道了。還把輪子哥招來。輪子哥每天美腿推送都來不及。看你這幾分鐘就能出答案的東西。


自己上編譯器試試就知道了

十分建議把類內定義的類放在保護空間中。你放在public, 和放在外邊有什麼區別呢?


你父母一輩子掙的錢,你最後能不能繼承下來呢


推薦閱讀:

TAG:程序 | C | C編程 |