在运行时调用函数的类的名称

时间:2013-10-28 16:22:40

标签: c++ qt4

我正在创建一个真正基本的记录器,作为一个带有方法日志(字符串)的单独类。

假设我有3个班级: - 一个 - B. - 记录器

我会在每个A和B类中都有一个记录器对象。我会做Logger.log(“无论什么”)。

我想从日志中调用它的类的名称。我怎样才能找到这个? (这里是“A”或“B”)

如果可能的话,我不想仅为它传递任何论据。

2 个答案:

答案 0 :(得分:1)

Logger在其构造函数中获取类的名称,并将其存储以供以后使用。让这两个类中的每一个都用自己的名称初始化他们的Logger成员。

答案 1 :(得分:1)

在类函数中调用的类似函数将在日志中为您提供类和函数: -

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

假设该类派生自QObject。