연산자 오버로딩 중에 해당 클래스의 타입을 변환시킬 수 있는 오버로딩이 있다.
해당 객체와 다른 타입의 객체에 대입연산자를 사용할때 해당 대입연산자를 정의할 수 있다.
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 타입() 연산이 나오는데 이렇게 쓰면 해당 객체를 해당 타입으로 변환시켜줄수 있다.
'언어 > C++' 카테고리의 다른 글
(C++)함수 호출 규약 (0) | 2020.07.13 |
---|---|
(C++)함수 포인터와 콜백함수 (0) | 2020.07.13 |
(C++)연산자 오버로딩의 활용 (0) | 2020.06.29 |
(C++)VS에서 함수에서 지역변수의 레퍼런스값 리턴시 접근할수 있는 이유 (0) | 2020.06.29 |
(C++)함수에서의 const 사용 (0) | 2020.06.29 |