B2024001225 윤지선
2학기 11주차 예습과제 본문
함수 중첩과 디폴트 인자
다형성의 종류
- 보편적 자형성
- 포함 다형성
- 상속
- 인자 다형성
- 템플릿
- 불규칙 다형성
- 중첩
- 함수/연산자
- 코어션
- 형변환
함수 중첩(function overloading)
- 함수 오버로딩
- 다형성을 구현하는 한가지 방법
- C에서는 기능이 같은데도 처리하는 자료형에 따라 다른 이름의 함수를 사용함
- 수의 절대값을 구하는 함수
- abs() // int, abs(-4) = 4
- labs() // long, labs(-31) = 3
- fabs() // float, fabs(-3.6f) = 3.6
- 다형성을 제공하는 C++에서는 하나의 함수 이름을 중첩해서 사용 가능함
- 하나의 함수명을 여러 개의 유사 목적으로 사용할 수 있다
생성자 중첩
- 클래스의 멤버함수도 중첩이 가능하고 생성자도 중첩 가능
- 하지만 소멸자는 중첩 불가능
- 생성자 함수도 매개변수를 가질 수 있기 때문에 매개변수의 수나 자료형에 따라 여러 개의 생성자 함수를 중첩할 수 있음.
- 생성자 함수를 중첩시키는 것은 객체에 초기값을 다양하게 주는 선택 기회를 제공하는 것임.
디폴트 인자
- 디폴트 매개변수
- int add(int, int);
C++에서는 함수를 호출할 때 별도의 매개변수를 전달하지 않아도 기본적인 값을 전달하도록 함수 원형을 선언할 때 디폴트 값을 지정할 수 있다.
- 해당 매개변수가 주어지지 않으면 디폴트 인자 값이 할당된다.
- 모든 매개변수에 디폴트 값을 줄 필요는 없으며 필요한 곳에만 준다.
- 디폴트 매개변수의 사용은 함수 중첩의 축약형이다.
- 디폴트 매개변수를 갖는 함수를 만들 때, main()함수 전에 함수 선언을 하면 선언부에만 디폴트 인자를 지정해야 한다
- 일단 디폴트 매개변수를 정의하기 시작하면 그 다음(오른쪽)의 매개변수들은 모두 디폴트 매개변수를 가져야 한다.
'2024년 2학기 > C++ 프로그래밍' 카테고리의 다른 글
2학기 12주차 예습과제 (0) | 2024.11.18 |
---|---|
2학기 11주차 과제 (0) | 2024.11.11 |
2학기 10주차 과제 (0) | 2024.11.04 |
2학기 10주차 예습과제 (4) | 2024.11.04 |
2학기 9주차 과제 (0) | 2024.10.28 |