728x90
1. 함수 오버로딩 (Function Overloading)
- C 언어: 함수 이름은 고유해야 하며, 동일한 이름의 함수를 여러 개 정의할 수 없습니다.
- C++: 함수 오버로딩이 지원되어 동일한 이름의 함수를 매개변수의 타입이나 개수에 따라 여러 개 정의할 수 있습니다.
2. 기본 인수 (Default Arguments)
- C 언어: 기본 인수를 지원하지 않으므로, 모든 인수를 명시적으로 제공해야 합니다.
- C++: 기본 인수를 정의할 수 있어, 호출 시 일부 인수를 생략할 수 있습니다.
3. 함수 템플릿 (Function Templates)
- C 언어: 함수 템플릿을 지원하지 않습니다.
- C++: 템플릿 기능을 통해, 다양한 데이터 타입에 대해 동일한 기능을 제공하는 함수를 정의할 수 있습니다.
4. 네임스페이스 (Namespace)
- C 언어: 네임스페이스 개념이 없으며, 모든 함수는 전역적으로 선언됩니다.
- C++: 네임스페이스를 사용하여 함수 이름의 충돌을 방지할 수 있습니다.
5. 멤버 함수 (Member Functions)
- C 언어: 구조체와 같은 데이터 구조를 사용하여 함수와 데이터를 함께 묶는 기능이 없습니다.
- C++: 클래스와 객체 지향 프로그래밍을 지원하여, 멤버 함수로서 클래스의 일부로 함수가 정의될 수 있습니다.
6. const 멤버 함수
- C 언어: 이 개념이 없습니다.
- C++: const 키워드를 사용하여, 객체의 상태를 변경하지 않는 멤버 함수를 정의할 수 있습니다.
#include <stdio.h>
void printSum(int a, int b) {
printf("두 수의 합은 %d입니다.\n", a + b);
}
int main() {
printSum(5, 10);
return 0;
}
C언어
#include <iostream>
using namespace std;
void printSum(int a, int b) {
cout << "두 수의 합은 " << a + b << "입니다." << endl;
}
int main() {
printSum(5, 10);
return 0;
}
C++
728x90
'반도체 > C++' 카테고리의 다른 글
16. 두 수의 합을 반환하는 함수 (1) | 2024.07.26 |
---|---|
15.값을 반환하는 함수 VS 값을 반환하지 않는 함수 (1) | 2024.07.26 |
13. C++의 기본인수 (2) | 2024.07.26 |
12. C++과 C언어 차이 예제 (1) | 2024.07.26 |
11. C++ 함수 (2) (0) | 2024.07.25 |