在C++中提供jQuery Style Encapsulatable Functions

dan*_*jar 1 c++ oop function

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

$('div').parent().find('a').is('.class').css('color', 'red');
Run Code Online (Sandbox Code Playgroud)

我不知道如何说是如何工作的内部.如何用类似的行为在C++中编写类?

Luc*_*ore 5

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

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

A a;
a.foo().goo().foo();
Run Code Online (Sandbox Code Playgroud)

这只是一个简单的例子.