No logro entender lo que quieres hacer...podrias explicar que quieres hacer. Porque un String es muy distinto a Char*.
Con string no nacesitas crear un arreglo de string. Simplementes declaras un string asi:
string micadena = "hola";
en cambio con char si necesitas crear un arreglo.
De eso me doy cuanta porque todo string que susas le pones [MAX] a continuacion osea que estas usando un solo string de todos los que utilizaste.
Despues en la funcion registrar para que pasas el a,b,c si despues los que haces es tomarlo de la entrada de teclado.
Código C++:
Ver original#include <cstdlib>
#include <iostream>
#define MAX 50
using namespace std;
class coordenada
{
private:
string lugar;
string x;
string y;
public:
void registrar();
//string mostrar(string ax[],string b[],string c[]);
};
void coordenada::registrar()
{
char op2;
string a,b,c;
do{
cout<<"Ingrese nombre del lugar:"<<endl;
cin>>a;
this->lugar=a;
cout<<"Ingrese coordenada en x:"<<endl;
cin>>b;
this->x=b;
cout<<"Ingrese coordenada en y:"<<endl;
cin>>c;
this->y=c;
cout<<"registro exitoso";
cout<<"Desea continuar?"<<endl;
cout<<"1. no"<<endl;
cout<<"1. cualquier otra tecla para continuar"<<endl;
cout<<"su opcion fue la numero:";
cin>>op2;
}while(op2!='1');
};
/*string coordenada::mostrar(string ax[],string b[],string c[])
{
cout<<this->lugar[a];
cout<< this->x[a];
cout<< this->y[a];
}*/
class persona
{
public:
string nombre;
long int cedula;
string id;
};
void parametros_incorrectos()
{
cout<<"parametros incorrectos";
}
int main(int argc, char *argv[])
{
//variables
char op1;
char op2;
//--------------------------------
coordenada *Newcoor= new coordenada;
persona *usuario= new persona;
do{
cout<<"---------------------------REGISTRO DE COORDENADAS------------------------------"<<endl;
cout<<"Indique accion:"<<endl;
cout<<"1. Agregar una coordenada al sistema"<<endl;
cout<<"2. Crear un usuario"<<endl;
cout<<"3. Salir"<<endl;
cout<<"su accion seleccionada fue:";
cin>>op1;
switch(op1)
{
case '1':
Newcoor->registrar();
break;
case '2':
break;
case '3':
break;
default:
parametros_incorrectos();
break;
}
}while(op1!='3');
return EXIT_SUCCESS;
}