English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Estrutura e função

Neste artigo, você encontrará exemplos de passar a estrutura como parâmetro para a função e usá-la no programa.

Pode-seestruturavariável passar parafunçãoe retorna de maneira semelhante a um argumento comum.

passa a estrutura para C ++a função

Pode passar a variável de estrutura como parâmetro da função de maneira semelhante a um parâmetro comum. Considere o seguinte exemplo:

Exemplo1de C ++Estrutura e função

#include <iostream>
using namespace std;
struct Person
{
    char name[50];
    int age;
    float salary;
};
void displayData(Person);   // Declarar função
int main()
{
    Person p;
    cout << "Entrar com nome: ";
    cin.get(p.name, 50);
    cout << "Entrar com idade: ";
    cin >> p.age;
    cout << "Entrar com salário: ";
    cin >> p.salary;
    // Chamada de função, variável de estrutura como parâmetro
    displayData(p);
    return 0;
}
void displayData(Person p)
{
    cout << "\nMostrar informações" << endl;
    cout << "Nome: " << p.name << endl;
    cout << "Idade: " << p.age << endl;
    cout << "Salário: " << p.salary;
}

Resultados de saída

Entrar com nome: Bill Jobs
Entrar com idade: 55
Entrar com salário: 34233.4
Mostrar informações
Nome: Bill Jobs
Idade: 55
Salário: 34233.4

Neste programa, solicita-se ao usuário que insira o nome, idade e salário de uma pessoa na função main().

Em seguida, usa-se passar a variável de estrutura p para a função.

displayData(p);

O tipo de retorno de displayData() é void e passa um parâmetro do tipo estrutura Person.

e, em seguida, exibe os membros da estrutura p dessa função.

Exemplo2de C ++a função retorna a estrutura

#include <iostream>
using namespace std;
struct Person {
    char name[50];
    int age;
    float salary;
};
Person getData(Person); 
void displayData(Person); 
int main()
{
    Person p;
    p = getData(p);   
    displayData(p);
    return 0;
}
Person getData(Person p) {
    cout << "Entrar com nome: ";
    cin.get(p.name, 50);
    cout << "Entrar com idade: ";
    cin >> p.age;
    cout << "Entrar com salário: ";
    cin >> p.salary;
    return p;
}
void displayData(Person p)
{
    cout << "\nMostrar informações" << endl;
    cout << "Nome: " << p.name << endl;
    cout << "Idade: " << p.age << endl;
    cout << "Salário: " << p.salary;
}

O resultado de saída deste programa é o mesmo que o programa acima.

Neste programa, a variável de estrutura de tipo Person p é definida na função main().

A variável de estrutura p é passada para a função getData(), que obtém entrada do usuário e então retorna para a função principal (main).

p = getData(p);

Atenção:Se os tipos das variáveis de estrutura forem iguais, pode-se usar o operador de atribuição.(=Atribui todos os membros da estrutura variável de estrutura a outra estrutura. Você não precisa atribuir manualmente cada membro.

Então, passe a variável de estrutura p para a função displayData(), que exibe as informações.