본문 바로가기
언어/C++

(C++)타입변환 연산자 오버로딩

by 흥부와놀자 2020. 7. 2.

연산자 오버로딩 중에 해당 클래스의 타입을 변환시킬 수 있는 오버로딩이 있다.

해당 객체와 다른 타입의 객체에 대입연산자를 사용할때 해당 대입연산자를 정의할 수 있다.

class Strings
{
	 char ST[128];
public:
	Strings(const char* st)
	{
		strcpy_s(ST, sizeof(ST),st);
	}
	operator const char*()
	{
		return ST;
	}
};
int main()
{
	Strings s("Hello");
	const char* a = s;
	printf("%s", a);
}

 

 

위의 코드에서 Strings s는 생성자를 통해 "Hello"란 글자를 ST라는 지역변수에 넣는다.

그리고 operator 타입() 연산이 나오는데 이렇게 쓰면 해당 객체를 해당 타입으로 변환시켜줄수 있다.