我正在寻找一种在不创建类实例的情况下调用成员函数的方法,我不是指静态函数。
情况如下:
//Texture.cpp
#include "Window.hpp"//Window included
void Texture::Init(const char* path, const Window&)
{
loadTexture(path, Window.getRenderer();
}
void Texture::loadTexture(const char* path, SDL_Renderer* renderer)
{
//code...
}
Window 有一个成员函数 SDL_Renderer* getRenderer()。但是,我不能在这种情况下使用它,因为没有创建 Window 的实例。
我遇到了这个问题,如果我必须自己想办法,我会做和那个人一样的事情:创建静态函数。但是,这对我来说似乎是一个问题。使用 std::function 和 std::bind 的答案对我来说看起来不错,但我不知道如何使用它。有人可以帮我吗?
我有:
- 函数 loadTexture,以 const char* 和 SDL_Renderer* 作为参数,并返回 void
- 函数 Init,以 const char* 和 const Window& 作为参数,并返回 void
- 类 Window,具有函数 getRenderer,不带参数并返回 SDL_Renderer*
谁能帮我解释一下,这样下次我遇到这个问题时我可以自己做同样的事情吗?
提前致谢。