Generic Stack Implementation (C++/CLI)

Generic Stack Implementation (C++/CLI)

 1 //     Generic Stack Implementation
 2 //     C++/CLI Version
 3 #pragma once
 4
 5 generic < typename T > where T:IComparable
 6 ref   class  Stack
 7 {
 8 private :
 9      ref   struct  Item
10      {
11         T Obj;
12         Item ^  Next;
13
14         Item(T obj, Item ^  next): Obj(obj), Next(next) {}
15     }
;
16
17     Item ^  Top;
18
19 public :
20      void  Push(T obj)
21      {
22         Top  =  gcnew Item(obj, Top);
23     }

24
25     T Pop()
26      {
27          if (Top  ==  nullptr)
28              return  T();
29
30         T obj  =  Top -> Obj;
31         Top  =  Top -> Next;
32          return  obj;
33     }

34 }
;

你可能感兴趣的:(Generic Stack Implementation (C++/CLI))