C + + 은 식 변환 함 수 를 정의 하고 클래스 를 내부 의 구성원 변수 로 변환 합 니 다

742 단어 암시 적 변환
C + + 에서 단일 매개 변수 구조 함수 가 explict 로 밝 혀 지지 않 으 면 적당 한 장소 에서 암시 적 변환 이 발생 할 수 있 습 니 다. 구성원 변수 형식 에서 클래스 형식 으로 전환 할 수 있 습 니 다.
다음 코드 는 역방향 전환 을 어떻게 실현 하 는 지 보 여 줍 니 다. 
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 void changeFontSize(FontHandle f, int newsize);
class Font{
public:
    operator FontHandle() const   //      
    {
        return f;
    }
private:
    FontHandle f;
};

Font f;
int newsize;
changeFontSize(f, newsize);      // Font     FontHandle

또한, 두 개 이상 의 인자 가 필요 한 non - explicit 구조 함수 입 니 다. 모든 형 삼 이 기본 적 인 실 삼 을 제공 하면 하나의 유형 대상 이 필요 한 표현 식 위치 에서 first 형 삼 형식의 대상 을 제공 하고 컴 파일 러 도 암시 적 변환 을 실행 하여 하나의 대상 으로 전환 합 니 다.

좋은 웹페이지 즐겨찾기