Ir ao conteúdo

Duvida Objeto


rauppluizfr

Posts recomendados

Postado

Olá,

pessoal estou com um duvida com objetos, criei uma classe pessoas da forma descrita abaixo:


class pessoas
{
public:
int idade;
int sexo; //1 para homem, 2 pra mulher
int altura;
};

e o objeto criei da seguinte forma


inc main(){
cout << "Cadastrar quantas pessoas?";
cin >> totalPessoas;

pessoas pesquisa[totalPessoas]; //cria o objeto


for (int controle = 0; controle < totalPessoas; controle++)
{
cout << "\nDigite a idade da pessoa " << controle <<":";
cin >> pesquisa[controle].idade;

cout << "Digite o sexo da pessoa (1 para homem 2 pra mulher) " << controle <<":";
cin >> pesquisa[controle].sexo;

cout << "Digite a altura da pessoa " << controle <<":";
cin >> pesquisa[controle].altura;

}}

e esta rotina para contar quantos homens existe no cadastro (implmentada na main logo depois do codigo naterior


int totalHomens = 0;
for (int controle = 0; controle < totalPessoas; controle++)
{
if (pesquisa[controle].sexo == 1)
{
totalHomens++;
}
}

minha duvida é a seguinte, se eu fosse fazer a contagem no numero de homens em uma funcao da classe (fora da main) como eu passaria os argumentos para essa funcao, tentei por vetor apontando pra pesquisa, dah erro, por vetor apontando para pesquisa[0].sexo, tambem da erro, no livro que estou lendo nao consegui achar como fazer isso quando o objeto é um array...

Postado

tente cria umca classe para a função e na função crie o objeto da classe que tem as variavéis, geralmente é melhor você receber parametros para usar em variavéis dentro desta função, doque criar variavéis numa classe, sem contar que elas nao são reconhecidas pelas funçoes que estão na mesma classe, pois ao criar o objeto você nao esta declarando a variavél dentro do bloco de codigo da função pertecente a classe.

Postado
tente cria umca classe para a função e na função crie o objeto da classe que tem as variavéis, geralmente é melhor você receber parametros para usar em variavéis dentro desta função, doque criar variavéis numa classe, sem contar que elas nao são reconhecidas pelas funçoes que estão na mesma classe, pois ao criar o objeto você nao esta declarando a variavél dentro do bloco de codigo da função pertecente a classe.

cara nao entendi, será que teria como fazer um exemplo?

Postado

01


arquivo .h
By rafafa
-------------------------*/

class pessoas // classe 1
{
/*--------------------
Lembre-se estas variavéis poderam se comportar de maneira inesperada,
recomendo que declare elas como globais ou locais dentro da função.
conssulte seu livro para mais detalhes
---------------------------*/
public:
int idade;
int sexo;
int altura;
};

class function //classe 2
{
public:
/*-----------------
aqui vai apenas um prototipo + pode ir a função toda!
esta função ja recebe parametros, bastando apenas você criar um
objeto e usa-la
---------------------*/
int alguma_funcao(int idade, int sexo, int altura);

};
/*-----------------------

02


arquivo .cpp
By rafafa

Este arquivo deve incluir o arquivo .h
Aqui vão as funçoes se você nao as fez dentro da propria classe
-------------------------*/

int function::alguma_funcao(int idade, int sexo, int altura)
{
/*------------------------------------
código vai aqui, usando os parametros recebidos
etc etc
--------------------------*/
return 0;
}
/*-----------------------

03


arquivo principal .cpp
By rafafa

Este arquivo deve incluir o arquivo .h para poder usar/criar
os objetos nesessários, aqui que vai a main
-------------------------*/

int main()
{
pessoas pso;
function fct;

pso.idade = 10;
pso.sexo = 1;
pso.altura=5;

fct.alguma_funcao(pso.idade, pso.sexo,pso.altura);

return 0;
}
/*-----------------------

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!