gpt4 book ai didi

c++ - 使所有类方法调用同一个函数

转载 作者:搜寻专家 更新时间:2023-10-31 01:40:29 25 4
gpt4 key购买 nike

所以,我遇到了这种情况:

#include "ActionLog.h"
class Library{
ActionLog aLog;
// ... the rest of it is private, mind you :D
public:
Library(...);
void addBook(...);
void removeBook(...);
// ... aaand there's a whole bunch of these :)
};

现在,class ActionLog 有一个公共(public)方法 void log(...);。一旦实现,它应该记录作为 类库 方法列出的任何事件的开始(最终是成功/失败,这是可选的)。

我想知道这一点:是否有一些更优雅的方法让每个 class Library 的方法调用 aLog.log(...) ; 方法开始执行的时间/之前?我所说的“优雅”不仅仅是在每个方法中显式调用它...

知道 Python version of the solution对于类似的问题,但我不熟悉 Python,所以我什至不确定是否适用相同的类相关原则。

最佳答案

C++ 没有任何内置的反射方式。无法在运行时或编译时列出方法。您可以做的最好的事情是将登录隐藏到您将用于定义每个方法的一些 #define 中,但是预处理器的使用是现代 C++ 中的反模式。

坚持当前的方法。

关于c++ - 使所有类方法调用同一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com