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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
aas

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

#1

投稿記事 by aas » 3年前

すみません途中で投稿してしまいました
最初から書き直します

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

コード:

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

コード:

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

inemaru
記事: 108
登録日時: 3年前

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

#2

投稿記事 by inemaru » 3年前

記述式の名称は、知りませんが
戻しているのは、「参照(参照渡し)」じゃないですか?
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;
}

aas

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

#3

投稿記事 by aas » 3年前

参照渡しですか・・・!
その手がありましたか
ありがとうございます。解決しました

閉鎖

“C言語何でも質問掲示板” へ戻る