Clases vs Estructura vs Unión en C++

Clase : es un tipo de datos definido por el usuarioincluido con variables y funciones . Es como un modelo para un objeto . Los miembros de la clase son privados de forma predeterminada. Por ejemplo, el automóvil es un objeto, su color, diseño, peso son sus atributos, mientras que el freno, el límite de velocidad, etc. son sus funciones.

Sintaxis:

class <class_name>
{
     private:
     // Data members
     ........... ...... .......
     
     public:
     // Data members
     // Member function
     ......... ........ ......
   
     protected:
     // Data members
     // Member function
    ....... ....... ......
};

A continuación se muestra el programa C++ para ilustrar la clase:

C++

// C++ program to illustrate class
#include <bits/stdc++.h>
using namespace std;
  
// Class with data members
// and member function
class Geeks {
public:
    string geekname;
    int roll_no;
  
    // Function printName
    // prints the name
    void printName()
    {
        cout << "Geekname is: "
             << geekname;
    }
  
    // Function printRollno
    // prints the roll no
    void printRollno()
    {
        cout << "Roll no  is: "
             << roll_no;
    }
};
  
// Driver Code
int main()
{
  
    // Object of class Geeks
    Geeks obj1;
  
    // Initialize a public data
    // members of class Geeks
    obj1.geekname = "Geek";
    obj1.roll_no = 15;
  
    // Function Call
    obj1.printName();
    cout << endl;
  
    // Function Call
    obj1.printRollno();
  
    return 0;
}
Producción:

Geekname is: Geek
Roll no  is: 15

Explicación: En el ejemplo anterior , la clase Geeks de C++ tiene miembros de datos y una función de miembro en el especificador de acceso público . Los miembros de datos se inicializan con algunos valores utilizando el objeto de la clase. Usando el objeto, se están llamando las funciones de la clase.

Estructura : Es una forma conveniente de agrupar variables. Los miembros de la estructura son miembros públicos de forma predeterminada. Las estructuras se pueden usar para elevar efectivamente el nivel de abstracción para mejorar el código.

Sintaxis:

struct  <struct_name>
{
    // Data members
    ....... ...... ......
       
    // Member functions
    ....... ...... ......
};

A continuación se muestra el programa C++ para ilustrar la estructura:

C++

// C++ program to illustrate structure
#include <bits/stdc++.h>
using namespace std;
  
// Structure with data members
// and member function
struct geekyPerson {
  
    // Data members
    string name;
    int age;
    float salary;
  
    // Member function to display
    void display()
    {
        cout << "Name: " << name
             << endl;
        cout << "Age: " << age
             << endl;
        cout << "Salary: " << salary;
    }
};
  
// Driver Code
int main()
{
    // Instance of the structure
    geekyPerson g1;
  
    // Accessing the data by the
    // dot operator
    g1.name = "Geeky";
    g1.age = 23;
    g1.salary = 15000;
  
    // Function Call
    g1.display();
  
    return 0;
}
Producción:

Name: Geeky
Age: 23
Salary: 15000

Explicación: La etiqueta struct se usa antes del nombre de la estructura para definir una estructura. Cada definición de miembro es una definición de variable normal, como int i; o flotante f; o cualquier otra definición de variable válida . Usando el objeto, se están llamando las funciones de la estructura.

Unión : es un tipo de datos definido por el usuario. Es similar a las estructuras. Todos los miembros de datos de la unión comparten la misma ubicación de memoria. El tamaño del sindicato se basa en el tamaño del miembro más grande del sindicato. Para usar la misma ubicación de memoria para dos o más miembros, lo mejor será una unión.

Sintaxis:

union <union_name>
{
    // Data members
    ..... ....... .........
} union_variables;
 
where,
union_name − Name was given to the union.
union_variable − The object of union.
Data members -Member variables.

A continuación se muestra el programa C++ para ilustrar la unión:

C++

// C++ program to illustrate union
#include <bits/stdc++.h>
using namespace std;
  
// Union declaration with the
// data members
union geeks {
    int id;
    int salary;
    char name[30];
    int age;
};
  
// Driver Code
int main()
{
    // Instance of the union
    union geeks g1;
  
    g1.id = 1;
    cout << "Id  : " << g1.id
         << endl;
  
    strcpy(g1.name, "Geeky");
    cout << "Name : " << g1.name
         << endl;
  
    g1.salary = 35000;
    cout << "Salary : " << g1.salary
         << endl;
  
    g1.age = 25;
    cout << "Age : " << g1.age
         << endl;
  
    return 0;
}
Producción:

Id  : 1
Name : Geeky
Salary : 35000
Age : 25

Explicación: En unión también, los objetos se utilizan para acceder a los miembros de datos y funciones de miembros.

Publicación traducida automáticamente

Artículo escrito por atharvdiwan26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *