複数結果の受け取り

  Java と同様な方法でも可能ですが,ここでは,和は変数のアドレスを渡すことにより,また,差は参照渡しによって実現しています.
/****************************/
/* 複数結果の受け取り       */
/*      coded by Y.Suganuma */
/****************************/
#include <iostream>
using namespace std;

/******************************/
/* 2 つのデータの加減乗除     */
/*      a, b : データ         */
/*      wa : a+b              */
/*      sa : a-b              */
/*      	return : a*b, a/b */
/******************************/
double * cal(int a, int b, int *wa, int &sa)
{
	*wa = a + b;
	sa = a - b;
	double *seki_sho = new double [2];
	seki_sho[0] = a * b;
	seki_sho[1] = (double)a / b;
	return seki_sho;
}

/*************/
/* main 関数 */
/*************/
int main()
{
	int a = 10, b = 20, wa, sa;
					// メソッドを呼ぶ
	double *seki_sho = cal(a, b, &wa, sa);
					// 結果
	cout << a << " と " << b << " の\n";
	cout << "   和は " << wa << endl;
	cout << "   差は " << sa << endl;
	cout << "   積は " << seki_sho[0] << endl;
	cout << "   商は " << seki_sho[1] << endl;
	return 0;
}