#include <iostream>



#define AANTALPOINTERS 10


int main()
{

  /*
   * Methode A: pointer naar pointer
   */
  std::cout << "Methode A:  int **pointerpointer" << std::endl;

  int **pointerpointer= new int*[AANTALPOINTERS];

  for(int i=0; i<AANTALPOINTERS; i++){
    // maak nieuw object van type int en stop het adres daarvan in het volgende array-vakje
    pointerpointer[i]= new int(i);
  }

  // Laat inhoud zien
  for(int i=0; i<AANTALPOINTERS; i++){
    std::cout << *pointerpointer[i] << std::endl;
  }


  /*
   * Methode B: array van pointers
   */
  std::cout << std::endl << "Methode B:  int *pointerarray[]" << std::endl;

  int *pointerarray[AANTALPOINTERS];
  for(int i=0; i<AANTALPOINTERS; i++){
    // maak nieuw object van type int en stop het adres daarvan in het volgende array-vakje
    pointerarray[i]= new int(i);
  }

  // Laat inhoud zien
  for(int i=0; i<AANTALPOINTERS; i++){
    std::cout << *pointerarray[i] << std::endl;
  }

  return 0;
}

