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++
차이점 설명
- 함수 오버로딩:
- C 언어: add 함수는 정수형만 정의되어 있으며, 동일한 이름의 다른 함수는 정의할 수 없습니다.
- C++ 언어: add 함수가 두 개 정의되어 있습니다. 하나는 정수형을, 다른 하나는 실수형을 받아들입니다. 따라서 같은 이름의 함수를 여러 번 정의할 수 있습니다.
- 기본 인수:
- 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 |