/****************************/ /* 関数(様々な引数) */ /* coded by Y.Suganuma */ /****************************/ #include <iostream> using namespace std; // クラス Complex class Complex { public : int x, y; Complex(int x1, int y1) { x = x1; y = y1; } }; // 関数 func int func(int a, int b, int *c, Complex d1, Complex *d2, int e = 5) { d1.x = -100; (*d2).x = -200; a += 10; c[0] = 30; return (a + b + e); } // main int main() { int x = 1; int y = 2; int z[] = {10, 20}; Complex w1(100, 200); Complex *w2 = new Complex(100, 200); cout << "関数を呼ぶ前:\n"; cout << " x: " << x << " y: " << y << " z: " << z[0] << " " << z[1] << " w1.x: " << w1.x << " w2.x: " << (*w2).x << endl; int r = func(x, y, z, w1, w2); cout << "関数を呼んだ後:\n"; cout << " x: " << x << " y: " << y << " z: " << z[0] << " " << z[1] << " w1.x: " << w1.x << " w2.x: " << (*w2).x << " r: " << r << endl; return 0; }