我有一个如此定义的类:
// source.C
#include "source.h"
Image* Source::GetOutput()
{
return this->img;
}
// source.h
#include "image.h"
#ifndef SOURCE_H
#define SOURCE_H
class Source
{
private:
Image* img;
public:
Image* GetOutput();
virtual void Execute()=0;
};
#endif
我需要在Image img = *Sink::GetOutput();
的子类中调用Source
或类似的东西。但是,这会引发错误cannot call member function ‘Image* Source::GetOutput()’ without object
。我知道我可以使GetOutput()
静态来摆脱这个错误,但之后我将无法再返回this->img;
。有什么办法可以修改这段代码以达到预期的目的吗?