Como outros tipos de dados, objetos podem ser dinâmicamente alocados usando os operadores new e delete. Por exemplo, para alocar um arranjo de seis objetos da classe rectangle, a seguinte construção poderia ser utilizada:
rectangle *p; // pointer declaration
p = new rectangle [6]; // objects allocation
...// rest of program
delete [ ] p; // objects deallocation