class Number
{
	...
public:
	operator int() const { return val; };

private:
	int val = 100;
}
int main()
{
	Number number;
	int temp = number;
	cout << temp << endl;  //  val 의 값이 들어갔다.
}

int temp = number;

이렇게 사용하면 묵시적 형변환 이라고 한다.

그런데 명시해줘야만 변환이 일어날 수 있게 할 수 가 있다. 생각지도 못한 변환이 일어나는 것을 조기에 방지 할 수 있을 것 같다.

explicit operator int() const { return val; };
...

int main()
{
	StaticTest number;
	int temp = number;  //  error 발생!!
	cout << temp << endl; 
}

분명하게 명시해주면 error는 사라진다.

int temp = (int)number;