HQ9++
# HQ9++

HQ9++ è un linguaggio di programmazione esoterico, creato da David Morgan-Mar con lo scopo di creare un'estensione di HQ9+ che supportasse la programmazione ad oggetti. Il suo nome è una parodia di C++, l'estensione di C che implementa la programmazione ad oggetti.

## Istruzioni

HQ9++ mantiene le quattro istruzioni dell'HQ9+, aggiungendone una quinta:

* H stampa a video "Hello, World!"
* Q stampa a video l'intero codice sorgente del programma
* 9 stampa a video il testo di "99 bottles of beer"
* + aumenta di 1 il valore contenuto nella variabile puntata dal puntatore alla memoria.
* ++ aumenta di 2 il valore della variabile e crea una nuova variabile, di una generica sottoclasse della classe Object.

Il funzionamento dell'operatore "++" è così definito per mantenere la retrocompatibilità con il codice HQ9+.

### Utilizzo della memoria

I programmi utilizzano un puntatore ad un indirizzo di memoria. La variabile puntata viene aumentata con modulo 256 dalle istruzioni + e ++. Inoltre l'istruzione ++ crea un oggetto di una classe generica, derivata dalla classe primitiva Object. Tuttavia non si può accedere né alla variabile puntata né agli oggetti creati in alcun modo.

