una variable booleana solo admite dos valores posibles, verdadero y falso.
La verdad es que no hay mucho más que explicar.
La verdad es que no hay mucho más que explicar.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
public class Person
{
// ...
boolean gender;
// ...
public void setGender( boolean newGender )
{
gender = newGender;
}
public boolean getGender( )
{
return gender;
}
}
Persona Persona::*getHermano(){
return hermano; // Me sale un triangulo con signode exclamacion (o admiracion)
}
Persona* Persona::getHermano(){
return hermano;
}
class Ingrediente
{
public:
Ingrediente( const std::string nombre )
: _nombre( nombre ),
_siguiente_ingrediente( nullptr )
{
}
const std::string& Nombre( ) const
{
return _nombre;
}
Ingrediente* SiguienteIngrediente( ) const
{
return _siguiente_ingrediente;
}
void SetSiguienteIngrediente( Ingrediente* ingrediente )
{
_siguiente_ingrediente = ingrediente;
}
private:
std::string _nombre;
Ingrediente* _siguiente_ingrediente;
};
class Postre
{
public:
Postre( const std::string& nombre )
: _nombre( nombre ),
_siguiente_postre( nullptr ),
_primer_ingrediente( nullptr )
{ }
~Postre( )
{
Ingrediente* ingrediente = _primer_ingrediente;
while ( ingrediente )
{
Ingrediente* para_borrar = ingrediente;
ingrediente = ingrediente->SiguienteIngrediente( );
delete para_borrar;
}
}
const std::string& Nombre( ) const
{
return _nombre;
}
void SetSiguientePostre( Postre* siguiente_postre )
{
_siguiente_postre = siguiente_postre;
}
Postre* SiguientePostre( ) const
{
return _siguiente_postre;
}
Ingrediente* PrimerIngrediente( ) const
{
return _primer_ingrediente;
}
void NuevoIngrediente( const std::string& nombre )
{
Ingrediente* ingrediente_actual = _primer_ingrediente;
while ( ingrediente_actual->SiguienteIngrediente( ) )
ingrediente_actual = ingrediente_actual->SiguienteIngrediente( );
ingrediente_actual->SetSiguienteIngrediente( new Ingrediente( nombre ) );
}
void EliminarIngrediente( const std::string& nombre )
{
Ingrediente* ingrediente_anterior = nullptr;
Ingrediente* ingrediente_actual = _primer_ingrediente;
while ( ingrediente_actual )
{
if ( ingrediente_actual->Nombre( ) == nombre )
{
if ( ingrediente_anterior )
ingrediente_anterior->SetSiguiente( ingrediente_actual->Siguiente( ) );
else
_primer_ingrediente = ingrediente_actual->Siguiente( );
delete ingrediente_actual;
break;
}
ingrediente_anterior = ingrediente_actual;
ingrediente_actual = ingrediente_actual->SiguienteIngrediente( );
}
private:
std::string _nombre;
Postre* _siguiente_postre;
Ingrediente* _primer_ingrediente;
};
class ListaIngredientes
{
public:
ListaIngredientes( )
: _primer_postre( nullptr )
{
}
~ListaIngredientes( )
{
Postre* postre = _primer_postre;
while ( postre)
{
Postre* para_borrar = postre;
postre= postre->SiguientePostre( );
delete para_borrar;
}
}
Postre* NuevoPostre( const std::string& nombre )
{
Postre* postre = _primer_postre;
while ( postre->SiguientePostre( ) )
postre = postre->SiguientePostre( );
postre->SetSiguientePostre( new Postre( nombre ) );
return postre->SiguientePostre( );
}
Postre* BuscarPostre( const std::string& nombre ) const
{
Postre* postre = _primer_postre;
while ( postre )
{
if ( postre->Nombre( ) == nombre )
return postre;
}
return nullptr; // no hay postres con el nombre indicado
}
void BorrarPostre( const std::string& nombre )
{
Postre* postre_anterior = nullptr;
Postre* postre = _primer_postre;
while ( postre )
{
if ( postre->Nombre( ) == nombre )
{
if ( postre_anterior )
postre_anterior->SetSiguientePostre( postre->SiguientePostre( ) );
else
_primer_postre = postre->SiguientePostre( );
delete postre;
}
}
private:
Postre* _primer_postre;
};
int main(int argc, char** argv) {
Auto auto1;
Auto auto2("Chevrolet","ASDF",300);
Auto *auto3 = new Auto("Nissan","QWERT",500);
// ...
auto3 = &auto2;
// ...
auto3 = &auto1;
// ...
delete auto3;
return 0;
}
delete auto3;
auto3 = &auto2;