ПОМОЩЬ! Прежде всего, извините за мой плохой английский ... Но, мой ум заблокирован! Я должен создать класс с использованием карты, и я сделал, но я не могу показать его, я могу вставить, но он ничего не показывает.Как создать класс с MAP? C++
Посмотрите:
class Cliente{
private:
map <string, string> clientes;
map <string, string> autos;
map <string, string> tipcolor;
map <string, string> numeros;
friend class AutoServicio;
class AutoServicio{
private:
int i;
public:
AutoServicio();
void MostrarClientes();
void AgregarCliente();
};
AutoServicio::AutoServicio(){
i=0;
}
void AutoServicio::AgregarCliente(){
string nombre, telefono, marca, modelo, tipo, color, placa, kilometros;
map <string,string> clientes;
cout << "Nombre: ";
cin >> nombre;
cout << "Teléfono: ";
cin >> telefono;
clientes.insert(pair <string, string>(nombre, telefono));
clientes.insert(make_pair(nombre, telefono));
map <string, string> autos;
cout << "Marca: ";
cin >> marca;
cout << "Modelo: ";
cin >> modelo;
autos.insert(pair <string, string>(marca, modelo));
autos.insert(make_pair(marca, modelo));
map <string, string> tipcolor;
cout << "Tipo: ";
cin >> tipo;
cout << "Color: ";
cin >> color;
tipcolor.insert(pair <string, string>(tipo, color));
tipcolor.insert(make_pair(tipo, color));
map <string, string> numeros;
cout << "Placa: ";
cin >> placa;
cout << "Kilómetros: ";
cin >> kilometros;
numeros.insert(pair <string, string>(placa, kilometros));
numeros.insert(make_pair(placa, kilometros));
cout << "\n";
}
void AutoServicio::MostrarClientes(){ // **HERE IS MY PROBLEM! IT DOESN'T SHOW**
map <string,string> clientes;
map<string, string>::iterator p = clientes.begin();
cout << "Datos del cliente: ";
while (p != clientes.end()){
cout << "\nNombre: " << p->first <<"\nTelefono: "<< p->second << endl;
p++;
}
map <string,string> autos;
map<string, string>::iterator p2 = autos.begin();
cout << "\nDatos del auto: ";
while (p2 != autos.end()){
cout << "\nMarca: " << p2->first <<"\nModelo: "<< p2->second << endl;
p2++;
}
map <string,string> tipcolor;
map<string, string>::iterator p3 = tipcolor.begin();
while (p3 != tipcolor.end()){
cout << "\nTipo: " << p3->first <<"\nColor: "<< p3->second << endl;
p3++;
}
map <string,string> numeros;
map<string, string>::iterator p4 = numeros.begin();
while (p4 != numeros.end()){
cout << "\nPlaca: " << p4->first <<"\nKilómetros: "<< p4->second << endl;
p4++;
}
}
Спасибо !!!
Вы ссылаетесь на автоматические локальные переменные вместо членов класса. – Lingxi