c++ 함수 Function

m._.jooong·2023년 3월 20일
0

C++

목록 보기
4/23
#include <iostream>

/** 문자열 관련 라이브러리*/
#include <string>

/** C++ 표준 라이브러리 사용합니다. */
using namespace std;

/**
반환값이 없는 Add라는 이름의 함수를 정의해 줍니다.
반환값이 없는 함수에는 void(비어있는, 허공의)를 함수 이름 앞에 붙여 줍니다.
*/
void Add(int value1, int value2)
{
    int value = value1 + value2;
    cout << "Add" << value1 << " + " << value2 << " = " << value << endl;
}

/**
C++ 11 (2011년)
C++ 14 (2014년)
C++ 17 (2017년)
C++ 20 (2020년)
*/

/**
반환값이 있는 Subtraction이라는 함수를 정의해 줍니다.

*/
int Subtraction(int value1, int value2)
{
    int value = value1 - value2;
    /** value값을 반환하고 함수를 빠져나갑니다. */
    return value;
}


/**
지금까지는 C언어 스타일의 함수 정의 방법입니다.

C++ 스타일입니다.
함수의 원형을 선언하고 정의해 줍니다.
Multiply라는 이름의 함수의 원형을 선언해 주고 정의해 주도록 합니다.
*/

/**
Multiply라는 이름의 함수의 원형을 선언합니다.

함수의 몸체가 없고 정보만 알려줍니다.
반환타입이 무엇인지, 함수 이름이 무엇인지, 매개 변수가 무엇인지 알려 줍니다.
반환타입 + 함수이름 + 매개 변수만 알려 준뒤 세미콜론(;)으로 마무리 짖습니다.
선언부와 정의부를 나누는 것입니다.

마우스로 함수 이름을 더블클릭해서 함수 이름을 선택합니다.
alt + enter로 함수를 정의(구현)해 줍니다.
*/
void Multiply(int value1, int value2);

int main()
{
    /**
    1. 폰트
    2. 기계식 키보드
    3. 마우스
    */

    /**
    C++ 언어의 함수는 크게 반환값이 있는 함수와 반환값이 없는 함수가 있습니다.

    1. 반환값이 있는 함수는 함수가 호출이 되어 뭔가 작업을 거친 후에
        호출한 위치로 그 기능을 수행한 결과 값을 다시 보냅니다.
    2. 반환값이 없는 함수는 단순히 어떤 기능만 수행한다는 것을 의미합니다.

    그럼 함수는 어떤 상황에서 만들면 되는 것일까요?
    코드상에서 2번 이상 같은 일을 하는 문장이 있다면 함수로 만들어 줍니다.
    그리고 함수의 내용을 계속 개선해 주도록 합니다.
    */

    /** 반환값이 없는 Add라는 이름의 함수를 정의해 줍니다. */

    /** 문장을 추가해 줍니다. */
    int intValue1 = 1024;
    int intValue2 = 2048;

    Add(intValue1, intValue2);
    cout << endl;

    Add(1024, 2048);
    cout << endl;

    /** 반환값이 있는 Subtraction이라는 함수를 정의해 줍니다. */

    /** 문장을 추가해 줍니다. */
    int intValue3 = 1024;
    int intValue4 = 2048;

    int intValue5 = Subtraction(intValue3, intValue4);
    cout << "Subtraction : " << intValue3 << " - " << intValue4 << " = " << intValue5 << endl;

    int intValue6 = Subtraction(4096, 2048);
    cout << "Subtraction : " << intValue6 << endl;
    cout << endl;

    /**
    C++
    C with class
    SuperC
    */

    /**
    지금까지는 C언어 스타일의 함수 정의 방법입니다.

    C++ 스타일입니다.
    함수의 원형을 선언하고 정의해 줍니다.
    Multiply라는 이름의 함수의 원형을 선언해 주고 정의해 주도록 합니다.
    */

    /** 문장을 추가해 줍니다. */
    int intValue7 = 1024;
    int intValue8 = 512;

    Multiply(intValue7, intValue8);
}

void Multiply(int value1, int value2)
{
    int value = value1 * value2;
    cout << "Multiply : " << value1 << " * " << value2 << " = " << value << endl;
}

0개의 댓글