私はC++の人ではありませんが、学ぼうとしています。専門用語がよくわからないので、何を検索すればいいのか、どうやって質問したらいいのかわかりません。私ができる最善のことは、次の例を提示することです。
ジェネリッククラスを定義します。
class IPlugin
{
public:
virtual void go(const Image &src, Image &dst) = 0;
}
次に2つの「プラグイン」
class pluginDenoise : public IPlugin
{
public:
virtual void go(const Image &src, Image &dst)
{
denoise(src, dst);
}
}
class pluginDeblur : public IPlugin
{
public:
virtual void go(const Image &src, Image &dst)
{
deblur(src, dst);
}
}
ここで、次のような一般的なフレームワークを定義したいと思います。
class Processor
{
public:
Processor(IPlugin &unknown_plugin)
{
Image src = imRead("inpImage.jpg");
Image dst;
unknown_plugin.go(src, dst);
imWrite(dst, "outImage.jpg");
}
}
メインコードから、私はそれを次のようなものと呼びたいです
int main()
{
pluginDeblur d;
Processor p(d);
}
このコードはコンパイルされないことを理解しています...これは何と呼ばれていますか?これは可能ですか?