#include "CompositeBuyStrategy.h" CompositeBuyStrategy::~CompositeBuyStrategy() { vector::iterator i; for( i = strategies_.begin(); i != strategies_.end(); i++ ) delete *i; } long CompositeBuyStrategy::buy( Stock* s, double capital, double buyPrice, long amountAvailable ) { vector::iterator i; for( i = strategies_.begin(); i != strategies_.end(); i++ ) { long buyAmount = (*i)->buy( s, capital, buyPrice, amountAvailable ); if ( buyAmount != 0 ) { price_ = (*i)->price(); return buyAmount; } } price_ = 0; return 0; } void CompositeBuyStrategy::add( BuyStrategy* strategy ) { strategies_.push_back( strategy ); }