using System;
using System.Text;

namespace ConsoleApplication1
{
    public class Imprimante
    {   // champs
        private static uint nombreImprimantes;
        private string imprimanteNom;


        // accesseurs(get/set)
        public string ImprimanteNom // notez la majuscules
        {                           // qui différencie le champ
            // de la propriété
            get { return (imprimanteNom); }
            set { imprimanteNom = value; }
        }

        // PROP AUTO
        public int NumeroSalle { get; set; }


        //Constructeur
        public Imprimante(string name, int num)
        {
            nombreImprimantes++;  // incremente nbre total imprimante
            imprimanteNom = name; // mise a jour champ nom
            NumeroSalle = num;    // mise a jour numero salle
        }

        // methode statique
        public static uint NombreTotalImprimanteGEII()
        {
            return (nombreImprimantes);
        }

        // surchage de la methode ToString pour ce decrire
        public override string ToString()
        {
            return (String.Format("imprimante {0} localisée en salle {1}", imprimanteNom, NumeroSalle));
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Imprimante brother = new Imprimante("brother", 215);
            Imprimante hp = new Imprimante("HP", 208);
            Imprimante hp2 = new Imprimante("HP", 214);
            Console.WriteLine(brother);
            Console.WriteLine("salle pour hp2: " + hp2.NumeroSalle);
            Console.WriteLine("Total imprimates:" + Imprimante.NombreTotalImprimanteGEII());
            Console.ReadKey();
        }
    }
}
