programacion orientada objetos funciones fuente ejemplos codigos codigo clases basicos c++ definition

orientada - codigos de c++ y sus funciones



¿Qué es exactamente una regla de definición en C++? (1)

¿Qué dice exactamente una regla de definición en C ++? La única ocurrencia confiable que puedo encontrar está en The C ++ Programming Language, 3rd. ed., P. 9.2.3 . ¿Hay alguna definición oficial de la regla excepto eso?


La verdad está en el estándar (3.2 Una regla de definición):

Ninguna unidad de traducción contendrá más de una definición de cualquier variable, función, tipo de clase, tipo de enumeración o plantilla.

[...]

Cada programa debe contener exactamente una definición de cada función u objeto no en línea que se utiliza en ese programa ; no se requiere diagnóstico. La definición puede aparecer explícitamente en el programa, se puede encontrar en la biblioteca estándar o definida por el usuario, o (cuando corresponda) está implícitamente definida (ver 12.1, 12.4 y 12.8). Se debe definir una función en línea en cada unidad de traducción en la que se utiliza.