可能重复:
静态与非静态方法
哪个更适合一个好的设计
还是有什么区别?还是仅取决于开发人员?
class Foo
{
int x;
void add(Foo* f1) //Method 1
{
x += f1->x;
}
static void add(Foo* f1, Foo* 2) //Method 2
{
f1->x = f1->x + f2->x;
}
static Foo* add(Foo* f1, Foo* 2) //Method 3
{
Foo* foo = new Foo();
foo->x = f1->x + f2->x;
return foo;
}
}