explicit : 명시적 호출만 허용


#include <iostream>
using namespace std;

class AAA
{
public:
    explicit AAA(int n){
        cout << "explicit example" << endl;
    }
};

int main(void)
{
    //AAA ex1=10; 이것은 C 스타일로 묵시적으로 다음 줄의 C++ 형태로 변경되서 실행된다.
    AAA ex1(10);


    return 0;


//AAA ex1=10; 이것은 C 스타일로 묵시적으로 다음 줄의 C++ 형태로 변경되서 실행된다. 따라서 생성자에 explicit 키워드가 있으므로 AAA ex1=10;는 컴파일 에러가 발생한다.

'프로그래밍 > C++' 카테고리의 다른 글

상속의 이해  (0) 2014.02.06
생성자 (Constructor)  (0) 2014.02.06
복사 생성자  (0) 2013.09.06
두 개의 Circle 클래스를 기반으로 한 Ring 클래스 생성  (0) 2013.08.22
난수 사용하기  (0) 2013.07.25
참조자와 함수의 호출관계  (0) 2013.07.24
new & delete 기본 사용법  (0) 2013.07.23

+ Recent posts