RemoteControl::RemoteControl() : mLastCommand(0) { try { for(int i=0; i<MaxSlots; ++i) { Slot* DefaultSlot = new Slot; ICommand* DefaultOnCommand = new NoCommand; ICommand* DefaultOffCommand = new NoCommand; DefaultSlot->SetCommands(DefaultOnCommand,DefaultOffCommand); mSlots.push_back(DefaultSlot); } } catch(std::bad_alloc& ex) { throw(ex); } }