Mega Code Archive

 
Categories / Visual C++ .NET / Generics
 

Generic Class Demo

#include "stdafx.h" using namespace System; generic<class K, class V> where K : IComparable ref class KVClass{ public:     property K Key;     property V Value;     KVClass(K key, V value);     V isGreater(KVClass ^in); }; generic<class K, class V> KVClass<K,V>::KVClass(K key, V value) {     Key = key;     Value = value; } generic<class K, class V>where K : IComparable V KVClass<K,V>::isGreater(KVClass ^in){     if (Key->CompareTo(in->Key) > 0)         return Value;     else         return in->Value; } void main(){     KVClass<int,String^> ^a = gcnew KVClass<int,String^>(5, "Five");     KVClass<int,String^> ^b = gcnew KVClass<int,String^>(6, "Six");     Console::WriteLine(a->isGreater(b));     KVClass<String^,int> ^t = gcnew KVClass<String^,int>("A", 1);     KVClass<String^,int> ^c = gcnew KVClass<String^,int>("B", 2);     Console::WriteLine(t->isGreater(c)); }