반도체/C++

12. C++과 C언어 차이 예제

Clair_de_Lune 2024. 7. 26. 16:35
728x90
#include <stdio.h>

// 두 수의 합을 계산하는 함수
int add(int a, int b) {
    return a + b;
}

// 두 수의 합을 출력하는 함수
void printSum(int a, int b) {
    printf("두 수의 합은 %d입니다.\n", add(a, b));
}

int main() {
    printSum(5, 10); // 출력: 두 수의 합은 15입니다.
    return 0;
}

 c언어

 

#include <iostream>
using namespace std;

// 두 수의 합을 계산하는 함수 (오버로딩)
int add(int a, int b) {
    return a + b;
}

// 두 수의 합을 계산하는 함수 (매개변수의 타입이 다름)
double add(double a, double b) {
    return a + b;
}

// 두 수의 합을 출력하는 함수
void printSum(int a, int b) {
    cout << "두 수의 합은 " << add(a, b) << "입니다." << endl;
}

// 기본 인수를 사용하는 함수
void printSumWithDefault(int a, int b = 10) {
    cout << "두 수의 합은 " << add(a, b) << "입니다." << endl;
}

int main() {
    printSum(5, 10); // 출력: 두 수의 합은 15입니다.
    
    // 오버로딩된 함수 호출
    cout << "두 수의 합 (double): " << add(5.5, 10.2) << endl; // 출력: 15.7

    // 기본 인수를 사용하는 함수 호출
    printSumWithDefault(5); // 출력: 두 수의 합은 15입니다. (b는 기본값 10 사용)

    return 0;
}

C++

 

 

 

 

 

차이점 설명

  1. 함수 오버로딩:
    • C 언어: add 함수는 정수형만 정의되어 있으며, 동일한 이름의 다른 함수는 정의할 수 없습니다.
    • C++ 언어: add 함수가 두 개 정의되어 있습니다. 하나는 정수형을, 다른 하나는 실수형을 받아들입니다. 따라서 같은 이름의 함수를 여러 번 정의할 수 있습니다.
  2. 기본 인수:
    • C 언어: 기본 인수를 사용할 수 없습니다. 함수 호출 시 모든 인수를 명시적으로 제공해야 합니다.
    • C++ 언어: printSumWithDefault 함수는 두 번째 매개변수에 기본값을 설정해두었습니다. 호출 시 두 번째 인수를 생략할 수 있으며, 이 경우 기본값이 사용됩니다.

 

 

 

 

 

C++는 함수 오버로딩과 기본 인수 같은 기능을 제공하여 더 나은 유연성과 표현력을 제공하는 반면, C는 이러한 기능이 제한되어 있습니다. 이로 인해 C++에서 더 다양한 방식으로 함수를 정의하고 사용

728x90

'반도체 > C++' 카테고리의 다른 글

14. C++과 C언어의 차이 (2)  (1) 2024.07.26
13. C++의 기본인수  (2) 2024.07.26
11. C++ 함수 (2)  (0) 2024.07.25
10. C++의 함수 (1)  (0) 2024.07.25
9. 공부목적 C++ 07.10 포인터 연산 05  (0) 2024.07.17