1

在例如 jQuery 中,您可以封装函数以在一行中对一个对象执行许多操作。

$('div').parent().find('a').is('.class').css('color', 'red');

我不知道这在内部是如何工作的如何在 C++ 中编写具有类似行为的类?

4

1 回答 1

5

这称为方法链接,您可以在 C++ 中实现相同的效果,具体取决于您的返回类型。

struct A
{
   A& foo()
   {
     return *this;
   }
   A& goo()
   {
     return *this;
   }
};

A a;
a.foo().goo().foo();

这只是一个简单的例子。

于 2012-10-19T11:41:52.823 回答