Defusing a bomb using a state machine
Two things stand out:


In your Bomb constructor, you do this:

Wire current_wire(wire);


This is creating a locally scoped variable current_wire and setting its value to wire, it's not updating the member variable of the class.
You are keeping track of more information than you need to.  You only need know the previous wire to know if the current wire is going to cause an explosion.  You are however keeping track of every wire in previous_cuts, although you're not using the value anyway.  Generally, you're better off not having redundant code, so if you're not going to use it, get rid of it.