class
es una palabra clave que se utiliza solamente * para introducir las definiciones de clase. Cuando declara nuevas instancias de clases, ya sea como objetos locales o como parámetros de funciones, solo utiliza el nombre de la clase (que debe estar dentro del alcance) y no la palabra clave class
.
p. Ej.
class ANewType
{
// ... details
};
Esto define un nuevo tipo llamado ANewType
que es un tipo de clase.
entonces usted puede utilizar esto en la declaración de funciones:
void function(ANewType object);
entonces puede pasar objetos de tipo ANewType
en la función. El objeto se copió en el parámetro de la función de modo, al igual que los tipos básicos, cualquier intento de modificar el parámetro modificará sólo el parámetro de la función y no afectará el objeto que fue aprobada originalmente en.
Si Si desea modificar el objeto fuera de la función como lo indican los comentarios en su cuerpo de función, debería tomar el objeto por referencia (o puntero). P.ej.
void function(ANewType& object); // object passed by reference
Esta sintaxis significa que cualquier uso de object
en el cuerpo de la función se refiere al objeto real que fue aprobada en la función y no una copia. Todas las modificaciones modificarán este objeto y serán visibles una vez que la función se haya completado.
[* La palabra clave class
también se utiliza en las definiciones de plantilla, pero eso es un tema diferente.]
@Adrian Por favor, no invente nuevas etiquetas, hay demasiadas. –