uso uniones programacion estructuras ejemplos ejemplo c++ class struct pod

uniones - C++-estructura vs. clase



typedef struct uso (5)

Posibles duplicados:
C / C ++ Struct vs Class
¿Qué son los tipos de POD en C ++?

Hola,

En el libro de C ++ In a Nutshell , en el capítulo 6: classes , unders especificadores de acceso , se menciona lo siguiente:

En una definición de clase, el acceso predeterminado para miembros y clases base es privado. En una definición de estructura, el valor predeterminado es público. Esa es la única diferencia entre una clase y una estructura , aunque por convención, algunos programadores usan struct solo para clases POD y usan clase para todas las otras clases .

Mis preguntas aquí son:

  • ¿No hay otra diferencia entre clases y estructuras en que las estructuras no tienen funciones y solo mantienen los datos?
  • ¿Qué son las clases de POD? Y, ¿qué se entiende por todas las otras clases aquí? ¿Hay clases especiales entonces?

Gracias.



La otra diferencia es que

template<class T> ...

está permitido, pero

template<struct T> ...

no es.


Las clases POD son clases de datos simples que solo tienen miembros de datos y nada más. Hay algunas preguntas sobre sobre lo mismo. Encuentra uno aquí .

Además, puede tener funciones como miembros de estructuras en C ++ pero no en C. Necesita tener punteros a funciones como miembros en estructuras en C.


Ok, POD significa datos antiguos simples . Eso generalmente se refiere a las structs sin ningún método porque estos tipos se usan luego para estructurar múltiples datos que pertenecen juntos.

En cuanto a las estructuras que no tienen métodos: he visto más de una vez que una estructura tiene métodos, y no creo que esto sea antinatural.


Podría probarse a sí mismo que no hay otra diferencia al tratar de definir una función en una estructura. Recuerdo que incluso mi profesor universitario que estaba enseñando sobre estructuras y clases en C ++ se sorprendió al saber esto (después de ser corregido por un estudiante). Yo lo creo, sin embargo. Fue divertido. El profesor seguía diciendo cuáles eran las diferencias y el alumno seguía diciendo "en realidad también se puede hacer eso en una estructura". Finalmente el prof. preguntó "OK, cuál es la diferencia" y el estudiante le informó que la única diferencia era la accesibilidad predeterminada de los miembros.

Una búsqueda rápida en Google sugiere que POD significa "Plain Old Data".