2017-12-07 5 views
-1

[OK]を、私はC++標準ヘッダファイルに周りに遊んでいた、と私は、この次の構文で来て、この構文はC++で何を意味していますか?

template<typename _Rep> 
struct treat_as_floating_point 
    : is_floating_point<_Rep> 
{ 
}; 

あなたはコメントする前に、「あなたは、少なくともテンプレートに何を知っていますか?」。

はい、私は、テンプレート、パブリックとプライベートを除くクラスと同じである構造体を使用する方法を知っている、と私はクラスを使用する方法を知っています。

だから、私はそれはテンプレートの特殊化であるため:のメンバーの初期化、ある種のだと思ったが、私は、任意のアイデアを持っていません。

+0

いいえ: ':'構文は、 'struct' /' class'名の後に継承であり、初期化ではありません。 – max66

+0

treat_as_floating_pointは同じテンプレートタイプのクラス/ struct is_floating_pointを継承しています_Rep – MRsa

+0

しかし、継承では "class mother:public daughter"のようにする必要はありませんか? – Nomade040

答えて

0

コードで:メンバこの文脈において初期化が、継承を意味するものではありません。継承は、コードを継承したテンプレートを使用しています

class Derived : Base 
{ 
}; 

として書かれています。 treat_as_floating_point<T>はテンプレートインスタンス化is_floating_point<T>を継承するテンプレート/ジェネリック型です。Tは型です。

関連する問題