Image Processing Pipeline
Since none of these classes have private members, they can be structs instead.  As such, you'll no longer need to explicitly give them public inheritance.
Consider making the magic number 42.f a constant so that its intent is known.
This is specific to Visual Studio, thus is non-portable:


int _tmain(int argc, _TCHAR* argv[])



It should be changed to this to fit the standard:

int main(int argc, char* argv[])

In your various executeTask() functions, I believe you're meaning to pass by const&amp;, not just by reference.  You're not modifying the argument, so const is best with them.