Native/C++
변환 생성자
aucd29
2013. 10. 2. 18:57
[code]#include <Turboc.h>
#include <iostream.h>
class Time
{
private:
int hour, min, sec;
public:
Time(){}
Time(int abssec)
{
hour = abssec / 3600;
min = (abssec/60) % 60;
sec = abssec % 60;
}
void OutTime()
{
cout << "현재 시간은 " << hour << ":" << min << ":" << sec << " 입니다. " << endl;
}
};
int main(int argc, char *argv[])
{
Time Now(3723);
Now.OutTime();
return 0;
}
// 클래스의 객체들도 일반 타입과 마찬가지로 암시적 변환이 가능할 수 있는데 클래스가 일반 타입과 완전히 동등해지려면 타입을 변환할 수 있는 문법적 장치가 있어야 한다. 그 첫번째 장치가 바로 변환 생성자(Conversion Constructor)이다. 변환 생성자는 기본 타입으로부터 객체를 만드는 생성자이며 기본형의 인수를 하나만 취한다. 인수가 둘 이상이면 변환 생성자가 아니다. 다음 예제의 Time 생성자는 정수값으로부터 Time객체를 만든다.
[/code]
#include <iostream.h>
class Time
{
private:
int hour, min, sec;
public:
Time(){}
Time(int abssec)
{
hour = abssec / 3600;
min = (abssec/60) % 60;
sec = abssec % 60;
}
void OutTime()
{
cout << "현재 시간은 " << hour << ":" << min << ":" << sec << " 입니다. " << endl;
}
};
int main(int argc, char *argv[])
{
Time Now(3723);
Now.OutTime();
return 0;
}
// 클래스의 객체들도 일반 타입과 마찬가지로 암시적 변환이 가능할 수 있는데 클래스가 일반 타입과 완전히 동등해지려면 타입을 변환할 수 있는 문법적 장치가 있어야 한다. 그 첫번째 장치가 바로 변환 생성자(Conversion Constructor)이다. 변환 생성자는 기본 타입으로부터 객체를 만드는 생성자이며 기본형의 인수를 하나만 취한다. 인수가 둘 이상이면 변환 생성자가 아니다. 다음 예제의 Time 생성자는 정수값으로부터 Time객체를 만든다.
[/code]