【问题标题】:Returning the class pointer through function通过函数返回类指针
【发布时间】:2010-11-14 19:37:44
【问题描述】:

如何使用 Foo 类的函数返回指针。我问的原因是因为我想让这段代码工作

Class fo
fo.MakeA(34.5777).MakeY(73.8843);

非常感谢您

【问题讨论】:

  • 这被称为“方法链”,在我看来,这是一种可憎的行为。它不会为您节省任何费用,使代码混乱,并为您提供许多错误机会。

标签: c++ class pointers


【解决方案1】:

假设你需要一个引用返回类型;

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&)。

【讨论】:

    【解决方案2】:

    您想为您的班级使用索引器。

    使 (MakeA, MakeY) 的返回类型与类的数据类型相同(使用 ref &)。

    并在每个方法的末尾放置

    return *this;
    

    【讨论】:

      猜你喜欢
      • 2014-01-04
      • 2018-01-10
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多