C++의 명시적 키워드는 유형을 암시적으로 변환하지 않도록 생성자를 표시하는 데 사용됩니다. 예를 들어 Foo −
클래스가 있는 경우class Foo { public: Foo(int n); // allocates n bytes to the Foo object Foo(const char *p); // initialize object with char *p };
이제 시도하면
Foo mystring = 'x';
문자 'x'는 암시적으로 int로 변환된 다음 Foo(int) 생성자를 호출합니다. 그러나 이것은 의도한 것이 아닙니다. 따라서 이러한 조건을 방지하고 오류가 발생하기 쉬운 코드를 줄이려면 생성자를 명시적으로 정의하십시오. −
예시
class Foo { public: explicit Foo (int n); //allocate n bytes Foo(const char *p); // initialize with string p };