Tornar IES Mare de Déu de la Mercènbsp;
Departament d'informàtica 
Miguel A. Almarza 

Apunts de C++. Índex.
  1. Introducció a la programació en C++.
  2. Algunes particularitats de C++.
  3. Funcions en C++. Pas de paràmetres. Constructors de còpia. Funcions amigues.
  4. Sobrecàrrega d'operadors
  5. Herència
  6. Entrada i sortida.
  7. Funcions i classes genèriques.
  8. Algunes coses que queden per explicar.
  9. Alguns exercicis amb programació dirigida a objectes.

  1. Introducció a la programació en C++.
    1. Introducció
    2. El primer programa en C++
    3. Introducció als conceptes de la programació dirigida a objectes.
    4. Classes i objectes.
      1. la classe punt.
      2. La classe PilaCaracters.
    5. Funcions constructores o contructors. Destructors.
      1. Contructors per a la classe PilaCaracters.
      2. Contructors per a la classe Punt.
      3. Destructors.
      4. La classe String. Constructors i destructors amb assignació dinàmica de memòria.
    6. Introducció a l'herència.
    7. Exercicis.
  2. Algunes particularitats de C++.
    1. Forma completa de la declaració d'una classe.
    2. Punters a objectes: new i delete.
      1. Referències a objectes.
      2. Pas de paràmetres per referència a funcions.
      3. Vectors d'objectes amb new.
      4. Els vectors de tipus elementals de dades amb new.
    3. Funcions inline.
    4. Sobrecarga de funciones. Polimorfisme amb funcions.
      1. Exemple: la funció ValorAbsolut
      2. Constructors amb paràmetres per defecte
      3. Pas de paràmetres per defecte
      4. Ambigüitat
    5. El punter this.
    6. Exercicis.
  3. Funcions en C++. Pas de paràmetres. Constructors de còpia. Funcions amigues.
    1. Assignació d'objectes.
      1. L'assignació dinàmica de memòria i l'assignació d'objectes.
    2. Pas d'un objecte com a paràmetre d'una funció.
      1. L'assignació dinàmica de memòria i el pas d'objectes com a paràmetre.
    3. Devolució d'objectes per una funció.
      1. L'assignació dinàmica de memòria i la tornada d'objectes d'una funció.
    4. Els constructors de còpia. Solució als problemes anteriors.
      1. Constructor de còpia per a la classe String.
      2. Ús del constructor de còpia per a la declaració d'un objecte String.
      3. Ús del constructor de còpia per passar un objecte a una funció.
      4. Ús del constructor de còpia per a tornar un objecte una funció.
    5. Funcions amigues.
      1. Funcions independents amigues d'una classe.
      2. Funcions membre d'una classe amigues d'una altra classe.
      3. Totes les funcions membre d'una classe són amigues d'una altra classe.
    6. Exercicis.
  4. Sobrecàrrega d'operadors
    1. Sobrecàrrega d'operadors.
    2. Sobrecàrrega d'operadors binaris.
      1. L'operador binari =
      2. Sobrecàrrega de l'operador = en cas d'assignació dinàmica de memòria.
      3. Sobrecàrrega de l'operador + en cas d'assignació dinàmica de memòria.
    3. Sobrecàrrega d'operadors monaris.
      1. Els operadors increment i decrement.
      2. L'operador monari -
    4. Sobrecàrrega d'operadors lògics i relacionals.
    5. Sobrecàrrega d'operadors amb funcions amigues.
      1. L'operador + amb funcions amigues. Classe Complex.
      2. L'operador + amb funcions amigues. Classe String.
    6. Sobrecàrrega de l'operador [].
    7. Sobrecàrrega dels operadors new i delete.
    8. Conversió de tipus de definits pel usuri.
    9. Exercicis.
  5. Herència
    1. Introducció
    2. L'accés als elements de la classe pare.
      1. L'especificador d'accés public
      2. L'especificador d'accés Private
      3. L'especificador d'accés Protected
      4. Resum d'acsés
    3. Constructors i herència.
      1. Ordre d'execucuó dels constructors i dels destructors.
      2. Pas de paràmetres entre constructors.
    4. Herència múltiple.
      1. Classes derivades de classes derivades.
      2. Classe derivada de més d'una classe.
      3. Classes base virtuals.
    5. Punters a classes base i classes derivades.
    6. Funcions virtuals.
    7. Funcions virtuals pures. Classes abstractes.
    8. Exercicis.
  6. Entrada i sortida.
    1. Introducció
    2. Insertors i estractors.
    3. Entrada i sortida amb format.
      1. Indicadors de formats. Funcions setf() i unsetf().
      2. La funció flags.
      3. Les funcions width(), precision() i fill().
      4. Els manipuladors.
    4. Sobrecàrrega dels operadors d'insercció i extracció.
    5. Creació de manipuladors.
    6. Entrada sortida a fitxers de disc
      1. Introducció
        1. Com obrir un fitxer.
      2. Descripció de les classes que conformen l'entrada/sortida
        1. Les classes relacionades amb els buffers.
          1. La classe filebuf
        2. La classe ostream.
        3. La classe istream.
        4. La classe iostream.
        5. La classe ofstream.
        6. La classe ifstream.
        7. La classe fstream.
      3. Exemple de fitxer amb accés seqüencial.
      4. Exemple de fitxer amb accés aleatori.
    7. La classe ios i l'estat d'un stream.
    8. Exercicis
  7. Funcions i classes genèriques.
    1. Funcions genèriques.
    2. Classes genèriques.
    3. Una Pila amb plantilles de classes.
      1. Definició de pila.
      2. Implementació de la classe genèrica o plantilla de pila.
      3. Ús de la classe Pila
        1. Ús de la classe Pila amb nobres enters
        2. Ús de la classe Pila amb estructures
        3. Ús de la classe Pila amb objectes
    4. Exercicis.
  8. Algunes coses que queden per explicar.
    1. Membres static d'una classe.
    2. Els qualificadors const i volatile.
    3. El maneig d'excepcions.
  9. Alguns exercicis amb programació dirigida a objectes.
    1. El joc del ximple.
      1. Descripció del joc.
      2. Estudi dels objectes adients.
      3. Implementació del programa.
    2. La classe String.