|
Exemple 13-3 extrait du chapitre
La généricité
Exemple 13-2< > Exemple 13-4
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_13_3.cs Erreurs: 1 Avertissements: 0 Remarque:
Exemple_13_3.cs
class Stack<T>{
private T[] m_ItemsArray;
private int m_Index = 0;
public const int MAX_SIZE = 100;
public Stack(){ m_ItemsArray = new T[MAX_SIZE]; }
public T Pop(){
if (m_Index ==0 )
throw new System.InvalidOperationException(
"Impossible de dépiler un élément d'une pile vide.");
return m_ItemsArray[--m_Index];
}
public void Push(T item) {
if(m_Index == MAX_SIZE)
throw new System.StackOverflowException(
"Impossible d'empiler un élément sur une pile pleine.");
m_ItemsArray[m_Index++] = item;
}
}
class Program{
static void Main(){
Stack<int> stack = new Stack<int>();
stack.Push(1234);
int number = stack.Pop(); // Plus besoin de casting.
stack.Push(5678);
string sNumber = stack.Pop(); // Erreur de compilation:
// Cannot implicitly convert type 'int' to 'string'.
}
}
Copyright Patrick Smacchia 2006 2007
|