Beispiel #1
0
//operator==
bool Piano::operator== (const Instruments& i) const {
    Instruments& instr = const_cast<Instruments&>(i);
    Piano* p = dynamic_cast<Piano*>(&instr);
    return (Instruments::operator==(i) && isTail()==p->isTail() && getWood()==p->getWood());
}
 bool PercussionChoice::fromXElementImpl( std::ostream& message, xml::XElement& xelement )
 {
     if( xelement.getName() == "glass" )
     {
         myChoice = Choice::glass;
         return getGlass()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "metal" )
     {
         myChoice = Choice::metal;
         return getMetal()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "wood" )
     {
         myChoice = Choice::wood;
         return getWood()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "pitched" )
     {
         myChoice = Choice::pitched;
         return getPitched()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "membrane" )
     {
         myChoice = Choice::membrane;
         return getMembrane()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "effect" )
     {
         myChoice = Choice::effect;
         return getEffect()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "timpani" )
     {
         myChoice = Choice::timpani;
         return getTimpani()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "beater" )
     {
         myChoice = Choice::beater;
         return getBeater()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "stick" )
     {
         myChoice = Choice::stick;
         return getStick()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "stick-type" )
     {
         myChoice = Choice::stickType;
         return getStickType()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "stick-material" )
     {
         myChoice = Choice::stickMaterial;
         return getStickMaterial()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "stick-location" )
     {
         myChoice = Choice::stickLocation;
         return getStickLocation()->fromXElement( message, xelement );
     }
     
     if( xelement.getName() == "other-percussion" )
     {
         myChoice = Choice::otherPercussion;
         return getOtherPercussion()->fromXElement( message, xelement );
     }
     
     MX_BAD_ELEMENT_FAILURE( PercussionChoice );
 }