【发布时间】:2009-07-27 06:19:51
【问题描述】:
哪个更适合一个好的设计
或者有什么不同吗?还是只取决于开发人员?
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;
}
}
【问题讨论】:
-
不是骗子:这里确实考虑一个实例方法是有意义的,因为它将处理实例中的数据。
-
@Jon:有很多静态与问题。我想一切都已经涵盖了。
-
它不是实例,这就是为什么我在问题末尾写了 2.. 它相似但不同..
-
添加 const 来注释输入/输出变量
标签: static non-static