next up previous contents
Next: Arranjos e apontadores Up: Classes e Encapsulação Previous: Construtores e Destrutores   Sumário

Objetos e funções

Uma vez que objetos são equivalentes a qualquer dado de outro tipo, é possível passar objetos como argumentos de uma função. Objetos são passados para função por valor, ou seja, uma cópia do objeto é feita quando ele é passado para a função. Em outras palavras, um novo objeto é criado.

Da mesma forma, uma função pode ter como tipo de retorno uma classe, e assim retornar um objeto para a função anterior. O valor de retorno de uma função também pode ser uma referência, o que permite que uma função seja utilizada do lado esquerdo de uma atribuição. O principal uso para esta construção é na sobrecarga de operadores, permitindo por exemplo comandos tais como a = b = c, onde a, b e c podem ser objetos.

Quando um objeto é passado como um argumento para uma função, uma cópia do objeto é feita. Quando esta cópia é feita, o construtor do objeto não é chamado -- a cópia é feita bit a bit. Entretanto, quando a função termina, a cópia é um objeto que deixará de existir e, portanto, o destrutor para o objeto será chamado. Quando este comportamento puder trazer problemas, o objeto deve ser passado por referência.


next up previous contents
Next: Arranjos e apontadores Up: Classes e Encapsulação Previous: Construtores e Destrutores   Sumário
Ivan Luiz Marques Ricarte 2001-06-01