1

たとえば jQuery では、関数をカプセル化して、オブジェクトに対して多くのアクションを 1 行で実行できます。

$('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 に答える