클래스 심화
Final 클래스
final로 선언된 클래스는 더이상 상속 할 수 없다.
class A{};
class B : A {};
class C final : B {}; // final 클래스 C
class D : C {}; // 에러 C클래스는 더이상 상속할수 없다.final 은 키워드가 아니고 식별자 이므로 변수명 등으로 사용가능하나 사용하지 않는것이 좋음!
이름 은폐(name hiding)
동일한 이름의 함수가 어떠한 영역에 선언되면 선언한 영역의 바깥영역의 함수는 은폐된다.
일반적인 다중정의
#include <iostream>
using namespace std;
void f(int x) {
cout << "f(int x) --> " << x << endl;
}
void f(double x) {
cout << "f(double x) --> " << x << endl;
}
int main() {
f(10);
f(20.0);
}
전역함수를 가리는 함수
main 함수내 f 함수를 선언하여 전역함수 f를 가리게

형변환이 되지 않는 경우에는 함수 호출을 할 수 없음
클래스 상속에서 이름 은폐

Last updated