We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
Yo quiero hacer esto pero que en la clase contenedora tenga un arreglo de la clase contenida y vaya agregando objetos al arreglo mediante un metodo y despues que muestre el contenido de la misma en otro metodo y en el main solo hacer las llamadas correspondientes.
Por ejemplo:
class Persona
{
string nombre;
int edad;
//constructor...
// setter getter
// to string()
}
class Cliente
{
Persona personas[];
Cliente(int cantidad)
{
personas = new Persona[cantidad];
}
void agregarPersona(Persona p)
{
for(int i = 0; i < personas.length; i++)
{
if(personas[i] == null)
{
personas[i] = p;
break;
}
}
}
string ListarPersona()
{
string listado = ";
for(int i = 0; i < personas.length; i++)
{
if(personas[i] != null)
{
Persona p = personas[i];
listado += p.toString();
}
}
return listado;
}
}
class Pincipal
{
Cliente c = new Cliente(2);
Persona p1 = new Persona("A", 20);
Persona p2 = new Persona("B", 30);
c.agregarPersona(p1);
c.agregarPersona(p2);
console.whriteLine( c.listarPersona());
}
quiero hacer esto pero en C++
Hola, bueno, la traducción de ese código en Java a C++ sería algo similar a esto:
class Persona
{
std::string nombre;
int edad;
//constructor...
// setter getter
// to string()
};
class Cliente
{
Persona* personas = nullptr;
int size = 0;
Cliente(int cantidad)
{
personas = new Persona[cantidad];
size = cantidad;
}
~Cliente(){delete[] personas;}
void agregarPersona(Persona* p)
{
for(int i = 0; i < size; i++)
{
if(personas[i] == nullptr)
{
personas[i] = p;
break;
}
}
}
std::string ListarPersona()
{
std::string listado = "";
Persona* p = nullptr;
for(int i = 0; i < size; i++)
{
if(personas[i] != nullptr)
{
p = personas[i];
listado += p->toString(); //supongo que ese metodo retorna la variable nombre de la clase Persona
listado += " ";
}
}
delete p;
p = nullptr;
return listado;
}
};
int main()
{
Cliente c = new Cliente(2);
Persona* p1 = new Persona("A", 20);
Persona* p2 = new Persona("B", 30);
c->agregarPersona(p1);
c->agregarPersona(p2);
std::cout<<c->listarPersona()<<std::endl; delete="" c;="" c="nullptr;" delete="" p1;="" p1="nullptr;" delete="" p2;="" p2="nullptr;" }="">
muchas gracias
alguien lo logro hacer, m gustaria ver el codigo por favor
Nesecitamos un heroe que resuelva estos ejercicios por favor"!
Quisiera saber el codigo de sobreescritura de la clase Ave y Pez
Donde puedo ver los ejercicios resueltos ?