Existem três tipos de parâmetros:
E existem duas razões para passar um objecto por referência para o interior de uma função:
No primeiro caso, o objecto é modificado no interior da função.
No segundo caso o objecto não é modificado no interior da função. Nesse caso devemos adicionar o modificador const à declaração do parâmetro. Em lugar de Type& obj, teremos const Type& obj.