logo

Estruturas C++

Em C++, classes e estruturas são projetos usados ​​para criar a instância de uma classe. Estruturas são usadas para objetos leves, como retângulo, cor, ponto, etc.

Ao contrário da classe, as estruturas em C++ são do tipo valor e não do tipo de referência. É útil se você tiver dados que não devem ser modificados após a criação da estrutura.

corte

Estrutura C++ é uma coleção de diferentes tipos de dados. É semelhante à classe que contém diferentes tipos de dados.

A sintaxe da estrutura

 struct structure_name { // member declarations. } 

Na declaração acima, uma estrutura é declarada precedendo o palavra-chave estrutura seguido pelo identificador (nome da estrutura). Dentro das chaves, podemos declarar as variáveis-membro de diferentes tipos. Considere a seguinte situação:

 struct Student { char name[20]; int id; int age; } 

No caso acima, Student é uma estrutura que contém três variáveis ​​nome, id e idade. Quando a estrutura é declarada, nenhuma memória é alocada. Quando a variável de uma estrutura é criada, a memória é alocada. Vamos entender esse cenário.

Como criar a instância da Estrutura?

A variável de estrutura pode ser definida como:

Aluno;

data java para string

Aqui, s é uma variável de estrutura do tipo Estudante . Quando a variável de estrutura for criada, a memória será alocada. A estrutura do aluno contém uma variável char e duas variáveis ​​inteiras. Portanto, a memória para uma variável char é de 1 byte e dois ints serão 2*4 = 8. A memória total ocupada pela variável s é de 9 bytes.

Como acessar a variável de Estrutura:

A variável da estrutura pode ser acessada simplesmente utilizando a instância da estrutura seguida do operador ponto (.) e depois o campo da estrutura.

Por exemplo:

 s.id = 4; 

Na instrução acima, estamos acessando o campo id da estrutura Student usando o comando ponto(.) operador e atribui o valor 4 ao campo id.

converter string em int java

Exemplo de estrutura C++

Vamos ver um exemplo simples de struct Rectangle que possui dois membros de dados largura e altura.

 #include using namespace std; struct Rectangle { int width, height; }; int main(void) { struct Rectangle rec; rec.width=8; rec.height=5; cout&lt;<'area of rectangle is: '<<(rec.width * rec.height)<<endl; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 40 </pre> <h2>C++ Struct Example: Using Constructor and Method</h2> <p>Let&apos;s see another example of struct where we are using the constructor to initialize data and method to calculate the area of rectangle.</p> <pre> #include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout&lt;<'area of rectangle is: '<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as &apos;Structure variable&apos;. </td> <td>The instance of the class is known as &apos;Object of the class&apos;.</td> </tr> </table></'area></pre></'area>

Exemplo de estrutura C++: usando construtor e método

Vamos ver outro exemplo de struct onde estamos usando o construtor para inicializar os dados e o método para calcular a área do retângulo.

 #include using namespace std; struct Rectangle { int width, height; Rectangle(int w, int h) { width = w; height = h; } void areaOfRectangle() { cout&lt;<\'area of rectangle is: \'<<(width*height); } }; int main(void) { struct rec="Rectangle(4,6);" rec.areaofrectangle(); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Area of Rectangle is: 24 </pre> <p> <strong>Structure v/s Class</strong> </p> <table class="table"> <tr> <th>Structure</th> <th>Class</th> </tr> <tr> <td>If access specifier is not declared explicitly, then by default access specifier will be public. </td> <td>If access specifier is not declared explicitly, then by default access specifier will be private.</td> </tr> <tr> <td>Syntax of Structure: <br> <br> struct structure_name <br> { <br> // body of the structure. <br> }</td> <td>Syntax of Class: <br> <br> class class_name <br> { <br> // body of the class. <br> }</td> </tr> <tr> <td>The instance of the structure is known as &apos;Structure variable&apos;. </td> <td>The instance of the class is known as &apos;Object of the class&apos;.</td> </tr> </table></\'area>

Estrutura versus Classe

Estrutura Aula
Se o especificador de acesso não for declarado explicitamente, então, por padrão, o especificador de acesso será público. Se o especificador de acesso não for declarado explicitamente, então, por padrão, o especificador de acesso será privado.
Sintaxe da Estrutura:

estrutura nome_da_estrutura
{
// corpo da estrutura.
}
Sintaxe da classe:

classe nome_da_classe
{
//corpo da classe.
}
A instância da estrutura é conhecida como 'variável de estrutura'. A instância da classe é conhecida como 'Objeto da classe'.