CONSTRUCTORES
Sirven para iniciar una instancia de la clase, cada vez que vas a instancia una calse debes llamr a su constructor para que la calse se cree en el heap...
ejemplo 
 
class juank
{
  int i;
  int *s;
  public juank(int y)
  {
      i=y;
      s=malloc(sizeof(int*6));
  }
 
  public int juankmet()
  {
     return i++;
  }
};
 
public class main
{
   int main()
  {
      juank jk= new juank(3);
      return jk.juankmet();
  }
};
 
 
Com vez cuando se hace new... se esta llamando a uno de los constructores de la clase puesto que puede tener mas de uno.
Un constructor debe tener el mismo nombre de la clase y no debe devolver ningun valor.
DESTRUCTORES
Lo contrario a los constructores, muy utiles cuando necesitas liberar recursos.. generalmente al usar apuntadores-...
no estoy muy seguro de su sintaxis puesto que conozco los conceptos y los manejo en otros lenguajes pero no en c++
ejemplo de la clase enterior 
 
class juank
 {
    . . .
    public ~juank()
   {
      free(s);
   }
 }
 
 
com vez se le coloca una negacion antes del niombre, que tambien debe ser solo el nombre de la clase sin devolver nada...
Obviamente estos temas son mucho mas  extensos y mi recomendacion es que te consigas un buen librito.
Juank