I have a polygon class, and in order to incorporate roation into it, I wanted to generate cosine and sine lookup tables, as my book suggests:

(cos_look and sin_look are float arrays within the class)Code:void _POLYGON2D::GenerateTables() { for (int ang = 0;ang<360;ang++) { float theta = static_cast<float>(ang*3.14159/180); cos_look[ang] = cos(theta); sin_look[ang] = sin(theta); } }

Of course this doesn't seem like a good way, since I want to create polygons using some sort of linked list, i would have to call this function every time I added a new one...Could I declare cos_look and sin_look static like this:

If my understanding is correct, declaring members static gives the the same values throughout all instances of the class, so could I just call GenerateTables() once like this:Code:typedef _POLYGON2D { public: //... void GenerateTables(); //... private: static float sin_look[360]; static float cos_look[360]; } Polygon2D, *PtrPolygon2D;

And then have the arrays be initialized for all my polygon objects?Code://in initialization function Polygon2D::GenerateTables();