0
如何在C++中檢查類的類型?
在Java中,我使用instanceof
。什麼是C++中的instanceof等價物?
我不喜歡使用動態轉換,但只使用經典的C++。
有什麼辦法嗎?
澄清:
這不是another question in StackOverflow重複,因爲我問我如何才能找到它,而無需使用的dynamic_cast
。在另一個問題中,答案是使用它。請不要將其標記爲重複。
如何在C++中檢查類的類型?
在Java中,我使用instanceof
。什麼是C++中的instanceof等價物?
我不喜歡使用動態轉換,但只使用經典的C++。
有什麼辦法嗎?
澄清:
這不是another question in StackOverflow重複,因爲我問我如何才能找到它,而無需使用的dynamic_cast
。在另一個問題中,答案是使用它。請不要將其標記爲重複。
沒有辦法檢查沒有RTTI的班級類型或它的家庭釀造替代。如果應用程序編譯時沒有RTTI信息關於類型不存儲在任何地方。
如果不是dynamic_cast,那麼經典C++是什麼意思?你究竟想要做什麼? – chris
我的意思是,對於'dynamic_cast',你需要使用'std :: ...'。出於任何原因,我沒有使用它。我創建了基類和一些派生類。當我得到一個對象時,我想要執行與特定派生類關聯的操作,但是我在一個循環中獲取了它,因此它被定義爲基礎類。在Java中,通過'instanceof'我可以知道它是哪種類型。但是在C++中不使用'dynamic_cast',我怎麼知道? – Aharon
'dynamic_cast'是一種語言功能,而不是庫功能。這聽起來像你只是想要派生類覆蓋的虛函數。 – chris