ページ 11

インスタンス名.メソッド名().メソッド名()の記述の仕方

Posted: 2016年10月05日(水) 20:35
by aas
すみません途中で投稿してしまいました
最初から書き直します

クラスのメソッドの戻り値をthisにして

コード:

インスタンス.Aメソッド()->Bメソッド()
と、することで連続で同じインスタンスの別のメソッドを実行できるのですが知人が

コード:

インスタンス名.メソッド名().メソッド名()
の記述で同じことをやっていました
この記述の名称ってあるのでしょうか
ポインタじゃないなら何をreturnしてるのでしょうか

Re: インスタンス名.メソッド名().メソッド名()の記述の仕方

Posted: 2016年10月05日(水) 21:02
by inemaru
記述式の名称は、知りませんが
戻しているのは、「参照(参照渡し)」じゃないですか?
https://www.google.com/search?&q=C%2B%2 ... 1%E3%81%97

コード:

#include <iostream>

struct Hoge final
{
	Hoge& MethodA(){
		std::cout << "A" << std::endl;
		return (*this);
	}
	Hoge& MethodB(){
		std::cout << "B" << std::endl;
		return (*this);
	}
};

int main(void)
{
	Hoge inst;
	inst.MethodA().MethodB().MethodA().MethodB();
	return 0;
}

Re: インスタンス名.メソッド名().メソッド名()の記述の仕方

Posted: 2016年10月05日(水) 22:21
by aas
参照渡しですか・・・!
その手がありましたか
ありがとうございます。解決しました