над
ел бы напечатать две разные вещи в зависимости от того, вызывается ли функция статически сFoo::print()
или из экземпляраFoo foo; foo.print();
РЕДАКТИРОВАТЬ: Вот определение класса, которое определенно не работает, как уже отвечали несколько человек.
class Foo {
string bla;
Foo() { bla = "nonstatic"; }
void print() { cout << bla << endl; }
static void print() { cout << "static" << endl; }
};
Однако есть ли хороший способ достижения этого эффекта? В основном я хотел бы сделать:
if(this is a static call)
do one thing
else
do another thing
По-другому, я знаю, PHP может проверить, если*this
переменная определяется или нет, чтобы определить, вызывается ли функция статически. Есть ли у C ++ такая же возможность?