私は理解したいと思います:C++のテンプレートクラスでリファクタリングする方法はありますか?私は基本クラスまたは特殊なテンプレートの仮想関数を素早く挿入したい。Qt CreatorのリファクタリングとC++のテンプレート
クラスが十分に大きくない場合は問題ありません。しかし、あなたが上書きして特化する必要がある10の方法がある場合、それは日常的でエラーが発生しやすくなります。
は例えば、私はそのコードを書くよりも、このコード
template <typename T>
class MyTemplateInterface
{
public:
virtual void DoWork() = 0;
};
を持って
template <typename T>
class MyTemplateClass : public MyTemplateInterface<T>
{
public:
MyTemplateClass() {}
};
そして、何私が取得したいことはある
template <typename T>
class MyTemplateClass : public MyTemplateInterface<T>
{
public:
MyTemplateClass() {}
void DoWork() override
{
}
};
template<>
void MyTemplateClass<int>::DoWork()
{
// specialized template
}
P.S.こと私の壊れた英語に申し訳ありません
https://doc.qt.io/archives/qq/qq15-academic.html – Taz742
ありがとうございました!この記事では、Qtはテンプレートをサポートしていませんが、純粋なC++コードを使用しています。それでQtがそれをサポートしていないと、Qt Creatorもそれをしないと思いますか?多分この問題を解決するもう一つの簡単な方法がありますか? –