C++从类内部调用类外部的方法

标签 c++ class

我有一个像这样的 C++ 程序:

class KbdRptParser : public KeyboardReportParser
{
        void PrintKey(uint8_t mod, uint8_t key);

protected:
        virtual void OnControlKeysChanged(uint8_t before, uint8_t after);

    virtual void OnKeyDown  (uint8_t mod, uint8_t key);
    virtual void OnKeyUp    (uint8_t mod, uint8_t key);
    virtual void OnKeyPressed(uint8_t key);
};

//ommitted stuff here

void KbdRptParser::OnKeyPressed(uint8_t key)
{
    keypress(key);

};

void keypress(uint8_t key)
{
    //do stuff...
}

//rest of program...

我希望能够从 KbdRptParser::OnKeyPressed 内部调用 keypress,因为如果我将代码从 >keypressKbdRptParser::OnKeyPressed。我怎样才能做到这一点?

最佳答案

你只需要在

之前声明它

void keypress(unit8_t key);

void KbdRptParser::OnKeyPressed(uint8_t 键) {

个人建议,遵循纯面向对象的方式,将keypress声明为类的静态函数,将全局变量声明为extern

关于C++从类内部调用类外部的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22624735/

相关文章:

c++ - void 函数调用不起作用 C++

c++ - 使用 C++ 中的类进行多线程

ruby - 变量声明: difference between "@@" and "class << self"

python - 如何将列表转换为 Flask 模板的类对象

arrays - 我可以创建一个从 Array 派生的类吗?

c++ - 在 C++ 中是否可以在初始化时覆盖虚拟方法?

c++ - 为什么必须使用函数指针?

c++ - VC++ 2012 更新 5 可再发行

c++ - 在 C++ 中,我不能在不分离 header 和 cpp 的情况下实现这些类吗?

c++ - 是否有任何工具可以将 C++ for 循环重写为 STL 算法?