C ++ Función estática de sobrecarga con función no estática

Me gustaría imprimir dos cosas diferentes dependiendo de si una función se llama estáticamente conFoo::print() o de una instancia deFoo foo; foo.print();

EDIT: Aquí hay una definición de clase que definitivamente no funciona, como ya han respondido algunas personas.

class Foo {
    string bla;
    Foo() { bla = "nonstatic"; }

    void print() { cout << bla << endl; }
    static void print() { cout << "static" << endl; }
};

Sin embargo, ¿hay una buena manera de lograr este efecto? Básicamente, me gustaría hacer:

if(this is a static call)
    do one thing
else
    do another thing

Fraseado de otra manera, sé que PHP puede verificar si la*this variable se define o no para determinar si la función se llama estáticamente. ¿C ++ tiene la misma capacidad?

Respuestas a la pregunta(4)

Su respuesta a la pregunta