2013-10-28 50 views
0

我使用方法日誌(字符串)創建一個真正基本的記錄器作爲單獨的類。在運行時調用函數的類的名稱

比方說,我有3類: - 一個 - B - 記錄儀

我將不得不在每一個A和B類Logger對象。我會做Logger.log(「無論」)。

我想要從日誌中調用它所屬的類的名稱。我如何檢索這個? (這裏是「A」或「B」)

我希望不必爲了它而傳遞任何參數。

+2

讓'Logger'在其構造函數中取得該類的名稱,並將其存儲以備後用。讓這兩個類中的每一個都用自己的名字初始化它們的'Logger'成員。 –

+0

這是唯一的可能嗎?我想到了,但可能會有更清晰的方式來執行此操作 – dyesdyes

+0

您能否將它轉換爲答案,因爲它似乎是唯一的可能性? – dyesdyes

回答

1

Logger在其構造函數中取出該類的名稱,並將其存儲以供以後使用。讓這兩個類別中的每一個都用他們自己的名字初始化他們的Logger成員。

1

像這樣的事情,堪稱一類功能會給你的類和函數在你的日誌: -

Logger.log(QString("%1::%2").arg(metaObject()->className()).arg(__func__)); 

假設類是自QObject的。

相關問題