A blueprint is a technical drawing of a home or product used by the manufacturer to build something.
Figuratively, a blueprint is a technical specification used to design software. In terms of C++ language elements, a template is a blueprint -- the compiler uses it to generate a class.
For example,
1 2 3 4 5 6 7 8 9 10 11 12
template <typename T>
struct point
{
T x, y;
point(): x(T()), y(T()) { }
point( const T& x, const T& y ): x(x), y(y) { }
};
int main()
{
point <int> p1( 2, -3 );
point <double> p2( .7, -3.1 );
The compiler uses the information about a 'point' to generate two distinct class types: an integer point and a floating-point point.