3d vector space opjects in C++