// <string> の演算子の調査
// [結合]a = b + c + d; の 3つ以上OKか

#include <iostream>
#include <string>

using namespace std;

int
main( )
{
	char cA[] = "000";
	char cB[] = "111";
	char cC[] = "222";
	string szA = "Hoge";
	string szB = "HAGE";
	string szC = "Baka";

	string szD = szA + 'Q' + cA + cB + cC ;

	cout << szD << endl;

	return 0;
}


/*
	OK です。
	string型ならなんの問題もなくいくつでも連結できます。
	char *型の場合は、右辺の第1項、第2項と続く場合にエラーとなります。
		e.g.:	szD = cA + cB + szA;
		       ~~~~~~~ ここがポインタ演算となるだけだから
	右辺の演算順序で (char * ) + (char * ) の計算にならないようにすればいい。
	あと、char型も扱えます。
	すなわち、右辺の第2項までに必ず string型が存在すればいい。
	ヘッダファイルを見れば分かるのですが、一応試しに。
*/


// end of file