問題は次のとおりです。プログラマーが1つのオブジェクトをインスタンス化するフレームワーク(CLCuda、最もクリエイティブな名前ではありません)を開発しており、システムがサポートするもの(CUDAまたはAMD OpenCL)に応じて、対応するメソッドを使用します。コードの任意の行をそれに変更します。
私は(純粋仮想メソッドですが、単なる仮想メソッドである可能性があります)という名前の抽象クラスを持っており、そのCLCuda
メソッドを実装する2つのクラスはとです。CLCudaCUDA
CLCudaOPENCL
CLCudaCUDA
私はこのようなものが欲しかった:ユーザーが持っているグラフィックカードに応じて、利用可能なプラットフォームのメソッドにアクセスできる(クラスまたはを介して)CUDAまたはOpenCLを開始する1つのオブジェクトをインスタンス化しますCLCudaOPENCL
。
CLCudaOpenCL
私はすでにandのメソッドをコーディングしCLCudaCUDA
ているので(それを行うのは困難です)、私の問題はOOPにあります。
クラスをどのように構成できますか?
誰かが助けることができるなら...どうもありがとう!