C++ Surcharge Statique de la Fonction avec les Non-Statique de la Fonction

Je voudrais imprimer deux choses différentes en fonction de si une fonction est appelée de façon statique avec Foo::print() ou d'une instance de Foo foo; foo.print();

EDIT: Voici une définition de classe qui certainement ne fonctionne pas, comme répondu par quelques personnes déjà.

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

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

Cependant, est-il un bon moyen d'obtenir cet effet? En gros, je voudrais faire:

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

Formulé d'une autre manière, je sais que PHP peut vérifier si le *this variable est définie ou non pour déterminer si la fonction est appelée de façon statique. Est-ce que C++ ont la même capacité?

Pourquoi ne pas l'essayer et voir?
les deux versions de print() portent la même signature. Et je ne pense pas qu'ils peuvent être surchargés de cette façon.

OriginalL'auteur Alan Turing | 2011-03-19