2017-10-10 5 views
0

C++では、このように実装できます。クラスは汎用クラスを継承します

template<typename MyType> 
class MyClass : public MyType 
{  
}; 

スウィフトでは可能ですか?

///Compiler error: Inheritance from non-procotol, non-class type 'T' 
class MyClass<MyGeneric> : MyGeneric 
{ 
} 
+0

いいえ、できません。なぜこれを正確にしたいのですか? – Hamish

+0

あなたは 'class MyClass :MyGeneric {}'を意味していませんか?あなたの構文が意味をなさないからです。 – holex

答えて

1

クラスを制約として使用する必要があります。あなたはそれがMyGenericプレースホルダ名(とない同じ名前のクラスへの参照を)作る書い方法:

class MyClass<T:MyGenericClass>:MyGenericClass 
{} 

これは何を取得しようとしているが、このようなものであると仮定しています

class MyGenericSubClass: MyGenericClass {} 

let c = MyClass<MyGenericSubClass>() 
関連する問題