I hope someone can help.

I've defined a class wich should rappresent a tridimensional object, and to do so the class have some OpenGL method (glBegin, glEnd). Here is a sample code:

class Object {
    glBegin(int type);
    glVertex3f(float x, float y, float x);
This idea come from gl-117 project source. The routine glBegin of the class don't use the real glBegin C routine (declared in GL/gl.h), but initialize the object, and other routines (like glVertex3f) only stores data provided without calling the real glVertex3f (C routine declared in GL/gl.h).

When all vertex are stored in the object, the Draw() routine should call real C routine do do the job.

The problem is here: how to reference C routines if my class has the same routine declaration? When I write glVertex3f, the compiler link to the routine available to the C class, and not to the C routine...

The simplest solution is to rename all class routines to avoid name collisions, but I would like to resolve this problem elegantly...