//: C04:CppLib.h
// C-like library converted to C++
struct Stash
{
int size;
/* Size of each space */
int quantity;
/* Number of storage spaces */
int next;
/* Next empty space*/
/* Dynamically allocated array of bytes:*/
unsigned char* storage;/* Osserviamo che in questo codice si considerano delle member function, ovvero funzioni sugli attributi della struct dichirate all'interno della struct stessa; in questo modo quando si usano le funzioni dichiarate internamente non serve passare il puntatore alla struttura come invece senza member function si doveva fare. Tuttavia qualsiasi altra funzione "non interna" che richiama la struttura deve riceverne il puntatore. Cambia poi anche la sintassi di definizione delle member function*/
void initialize(int size);
void cleanup();
int add(const void* element);
void* fetch(int index);
int count();
void inflate(int increase);}; ///:~