この質問は、パラダイムに関連するものであり、いくつかの概念を明確にしようとしているだけだということから始めたいと思います。だから私はPythonで約2年間プログラミングしており、つま先をJavaに浸しましたが、あまり多くはありません.C ++を掘り下げたいと思っています。以前に使用したことがありますが、多くの設計が関係する大規模なプロジェクトには使用しませんでした。
私が最初に調査を開始したとき、すべてがインターフェイスを実装する必要がある Java と同様に、OOP に対応していると信じていました。次に、テンプレートの概念にぶつかりました。これは、それを実装していないプリミティブ(ints、floats)にポリモーフィックな動作を提供するための回避策であるとすぐに考えました(基本的に、Pythonがダックタイピングと正式なインターフェースなしで行ったこと)。しかしすぐに、非プリミティブ型に同じ動作を提供するためにテンプレートが使用されていることがわかりました。
私の質問は、テンプレートよりも古典的なポリモーフィズムを使用する理由は何ですか? C++ コミュニティでは、これに対する一般的なアプローチは何ですか?
編集質問にほぼ答えるこれを見つけました(静的ポリモーフィズムは、この用語に頭を悩ませる必要があります)。