Diferencia clave: C ++ es un lenguaje orientado a objetos que se centra principalmente en los objetos. Una clase en C ++ se puede definir como una colección de variables relacionadas y funciones encapsuladas en una sola estructura. Las instancias de la clase se denominan como objetos. Una estructura en C ++ puede denominarse un tipo de datos definido por el usuario que posee sus propias operaciones. A diferencia del lenguaje C, ambos son bastante similares en C ++. La principal diferencia que existe entre ellos es con respecto al modificador de acceso; los miembros de una clase son privados por defecto, mientras que los miembros de una estructura son públicos por defecto.
Una clase en C ++ es solo una extensión de una estructura utilizada en el lenguaje C. Es un tipo de datos definido por el usuario. En realidad, vincula los datos y sus funciones relacionadas en una unidad. Una estructura y una clase en lenguaje C difieren mucho, ya que una estructura tiene una funcionalidad y características limitadas en comparación con una clase. Por otro lado, la estructura y la clase en C ++ son bastante similares. La principal diferencia surge debido a que, de forma predeterminada, todos los miembros de una clase son privados, mientras que, por defecto, todos los miembros de una estructura son públicos.
Comparación entre clase y estructura en C ++:
Clase | Estructura | |
Definición | Una clase en C ++ se puede definir como una colección de variables relacionadas y funciones encapsuladas en una sola estructura. | Una estructura puede denominarse un tipo de datos definido por el usuario que posee sus propias operaciones. |
Palabra clave para la declaración | Clase | Struct |
Especificador de acceso predeterminado | Privado | Público |
Ejemplo | clase myclass { privado: datos int público: myclass (int data_): datos (datos_) {} vacío virtual foo () = 0; virtual ~ clase () {} }; | estructura myclass { privado: datos int público: myclass (int data_): datos (datos_) {} vacío virtual foo () = 0; virtual ~ clase () {} }; |
Propósito | Abstracción de datos y herencia adicional. | En general, agrupación de datos. |
Tipo | Referencia | Valor |
Uso | Generalmente se utiliza para grandes cantidades de datos. | Generalmente se utiliza para cantidades más pequeñas de datos. |