Generic Class Demo : Generic Class « Generics « Visual C++ .NET






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));
} 

   
  








Related examples in the same category

1.Generic class for value type
2.Generic class definition