I guess this doesn't apply since most people here are using C# and VB but my professor has a bunch of very usefull C++ classes for points, vectors and transformations in an affine space.  The point and vector classes implement an affine space.  It has all the standard vector stuff but also supports subtracting points to get vectors and also adding vectors to points to get new points.