Ciao,
ho visto che cerchi di assegnare il valore du un arrray ad un altro utilizzando l' operatore '='
Per fare cio' che penso tu desideri, devi usare la funzione strcpy( Array A, Array B);
Altrimenti sembra tu voglia assegnare ad un array l' indirizzo di un altro, cosa comunque impossibile da fare.
Verifica anche le funzioni getNome(), getCognome(), getTitolo(), se vuoi che queste funzioni restituiscano un array, devi far si che restituiscano un indirizzo del primo elemento contenuto nell' array quindi cambiare la loro definizione e dicharazione.
mi sonopermesso di correggerti il programma,
codice:
#include <iostream>
#include <conio.h>
using namespace std;
class persona
{
private:
char nome[20], cognome[20], titolo[10];
public:
void setNome(char * x);
void setCognome(char * x);
void setTitolo(char * x);
char * getNome();
char * getCognome();
char * getTitolo();
};
void persona::setNome(char x[20])
{
strcpy(nome, x);
};
void persona::setCognome(char x[20])
{
strcpy(cognome, x);
};
char * persona::getCognome()
{
return cognome;
}
char * persona::getNome()
{
return nome;
}
void persona::setTitolo(char x[10])
{
strcpy(titolo , x);
}
char * persona::getTitolo()
{
return titolo;
}
void main()
{
persona a;
char nome[20], cognome[20], titolo[10];
printf("\nInserisci il titolo: ");
cin >> titolo;
a.setTitolo(titolo);
printf("\nInserisci il nome: ");
cin >> nome;
a.setNome(nome);
printf("\nInserisci il cognome: ");
cin >> cognome;
a.setCognome(cognome);
printf("\n\n%s %s %s", a.getTitolo(), a.getNome(), a.getCognome());
while (!_kbhit())
;
}
Ciao
Sergio