PDA

Visualizza la versione completa : c++, classi


volpicar
01-12-2008, 19:17
Salve a tutti, ho il seguente problema che non so come risolvere: ho creato una classe INSIEME_INTERI che, tra i vari membri, contiene un array di interi (privato) v[100]. Nel main del programma ho creato due oggetti INTERI, A e B. Faccio inserire all'utente dei numeri interi negli array v[] di A e B, chiamando le oppurtune funzioni membro. A questo punto vorrei sapere se c' un modo di scrivere una funzione membro, sempre nella classe interi, che sia in grado di accedere ai due suddetti array per fare dei confronti tra i loro elementi. Per spiegarmi meglio ecco il codice che ho scritto (diviso in tre files, header file, file dove scrivo le funzioni e poi il file col main):

1)

#ifndef TESTA_H
#define TESTA_H

class insieme_interi{
public:
insieme_interi(); //costruttore
void set_v(); //l'utente inserisce i dati nell'array
int get_v(int) const; //legge i valori dell'array

private:
int v[100];
};

#endif


2)

#include <iostream>
#include "testa.h"

using namespace std;

insieme_interi::insieme_interi(){ //costruttore
for(int i=0; i<100; i++){ //imposta a zero tutti gli elementi di v1 e v2
v[i]=0;
}
}

void insieme_interi::set_v(){ //l'utente inserisce 5 interi (tra zero e cento) nell'array
int a[5];

for(int i=0; i<5; i++){
do{
cout<<"Inserimento dati nel vettore. Inserire l'elemento "<<i+1<<": "<<endl;
cin>>a[i];
}while((a[i]<0)||(a[i]>100));
}

cout<<"INSERIMENTO AVVENUTO CON SUCCESSO."<<endl<<endl;
}


int insieme_interi::get_v(int i) const{ //restituisce l'elemento i-esimo di v1
return v[i];
}


3)

#include <iostream>
#include "testa.h"

using namespace std;

int main(){

insieme_interi a, b, c;

a.set_v();
b.set_v();


system("PAUSE");

return 0;
}

In pratica ora vorrei fare un confronto tra i due array, ma accedendovi con un'altra funzione membro sempre della stessa classe. Una cosa tipo:

c.confronta();

E' possibile?

Grazie, ciao!

MacApp
02-12-2008, 01:06
Per prima cosa impara ad usare i tag CODE o PHP, altrimenti il tuo codice altamente illeggibile.

Loading