Generic class definition : Generic Class « Generics « Visual C++ .NET






Generic class definition

 
#include "stdafx.h"
using namespace System;
using namespace System::Collections;


generic<typename T>
ref class MyClass
{
public:
    MyClass(int N)
    {
        m_Array = gcnew array<T>(N);
    }

    static MyClass()
    {
        Console::WriteLine("static constructor");
    }

    void SetItem(int i, T t)
    {
        m_Array[i] = t;
    }

    T GetItem(int i)
    {
        return m_Array[i];
    }

    String^ GetItemStringValue(int i)
    {
        return m_Array[i]->ToString();
    }

private:
    array<T>^ m_Array;
};

    
void main()
{
  MyClass<String^>^ myClass = gcnew MyClass<String^>(10);
  myClass->SetItem(0, "test");
  Console::WriteLine("{0}", myClass->GetItem(0));

      // Value class specialization
  MyClass<DateTime>^ myClass2 = gcnew MyClass<DateTime>(10);
  myClass2->SetItem(0, DateTime::Today);
  Console::WriteLine("{0}", myClass2->GetItem(0));
}

   
  








Related examples in the same category

1.Generic Class Demo
2.Generic class for value type