【发布时间】:2010-11-14 19:37:44
【问题描述】:
如何使用 Foo 类的函数返回指针。我问的原因是因为我想让这段代码工作
Class fo
fo.MakeA(34.5777).MakeY(73.8843);
非常感谢您
【问题讨论】:
-
这被称为“方法链”,在我看来,这是一种可憎的行为。它不会为您节省任何费用,使代码混乱,并为您提供许多错误机会。
如何使用 Foo 类的函数返回指针。我问的原因是因为我想让这段代码工作
Class fo
fo.MakeA(34.5777).MakeY(73.8843);
非常感谢您
【问题讨论】:
假设你需要一个引用返回类型;
class foo {
public:
foo& MakeA(float a) {
// MakeA code logic here...
return *this;
}
foo& MakeB(float b) {
// MakeA code logic here...
return *this;
}
}
否则,您可以只返回一个副本(foo 而不是foo&)。
【讨论】:
您想为您的班级使用索引器。
使 (MakeA, MakeY) 的返回类型与类的数据类型相同(使用 ref &)。
并在每个方法的末尾放置
return *this;
【讨论】: