[C++] explicit 키워드
Language/C++explicit 키워드는 생성자 앞에 붙여 묵시적인 호출을 허용하지 않을 때 사용 된다.
즉 객체 생성 관계를 분명히 하고자 할 경우 사용하며, 모든 생성자의 explicit 키워드를 붙이는 프로그래머도 많다.
아래는 explicit 키워드 사용 예이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class AAA { public: explicit AAA(int n) { cout << n << endl;} }; int main() { AAA a1(10); AAA a2 = 10; // error return 0; } |
AAA a2 = 10; 은 묵시적으로 AAA a2(10) 으로 변환되나 explicit 키워드로 묵시적인 호출을 허용하지 않았으므로 에러가 나타난다.
'Language > C++' 카테고리의 다른 글
[C++] 상속 (Inheritance) (0) | 2015.12.03 |
---|---|
[C++] mutable 키워드 (0) | 2015.12.03 |
[C++] static 키워드 (0) | 2015.12.02 |
[C++] const 키워드 (0) | 2015.12.02 |
[C++] 복사 생성자 (0) | 2015.12.02 |