// OOP 개념= 필요한Type을먼저설계하자. ( 프로그램이훨씬간단해진다. )
// C: 객체기반(Data만으로Type을설계한다.)
// C++: 객체지향( Data+Function 으로Type을설계하자. )
#include <iostream>
using namespace std;
struct Complex
{
        int real;
        int image;
        Complex Add( Complex c1, Complex c2 )
        {
        Complex temp;
        temp.real  = c1.real  + c2.real;
        temp.image = c1.image + c2.image;
        return temp;
        }
};
void main()
{
        Complex c1 = { 1, 1 };
        Complex c2 = { 2, 2 };
        Complex c3 = c3.Add( c1, c2 );
}
/*
//복소수2개의합을구하고싶다.
 void Add( int ar, int ai, int br, int bi,    // in Parameter
         int* sr, int* si )                   // out Parameter
{
        *sr = ar + br;
        *si = ai + bi;
}
void main()
{
        int ar = 1, ai = 1;           // 1+ 1 i
        int br = 2, bi = 2;           // 2+ 2 i
        int sr, si;
        Add( ar, ai, br, bi, &sr, &si );
}
*/