언어/C++
(C++)타입변환 연산자 오버로딩
흥부와놀자
2020. 7. 2. 22:08
연산자 오버로딩 중에 해당 클래스의 타입을 변환시킬 수 있는 오버로딩이 있다.
해당 객체와 다른 타입의 객체에 대입연산자를 사용할때 해당 대입연산자를 정의할 수 있다.
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 타입() 연산이 나오는데 이렇게 쓰면 해당 객체를 해당 타입으로 변환시켜줄수 있다.