[C++ 소스] 성적 클래스 (묵시적 형 변환 연산자 중복 정의)
//Score.h
#pragma once
#include <iostream>
using namespace std;
class Score
{
int value;
public:
static const int max_score;
static const int min_score;
static const int not_score;
Score(int value);
operator int();
private:
void SetValue(int value);//값 설정자
};
//Score.cpp
#include "Score.h"
const int Score::max_score=100;
const int Score::min_score=0;
const int Score::not_score=-1;
Score::Score(int value)
{
SetValue(value);
}
Score::operator int()
{
return value;
}
void Score::SetValue(int value)
{
if((value<min_score)||(value>max_score))
{
value = not_score;
}
this->value = value;
}
//묵시적 형 변환 연산자 중복 정의
//Program.cpp
#include "Score.h"
int main()
{
Score score(20);
int num=0;
cout<<"정수 :";
cin>>num;
if(num>score)
{
cout<<num<<"이 "<<score<<"보다 크다."<<endl;
}
else if(num == score)
{
cout<<num<<"과 "<<score<<"는 같다."<<endl;
}
else
{
cout<<num<<"이 "<<score<<"보다 작다."<<endl;
}
int value = score;
cout<<"값:"<<value<<endl;
return 0;
}
본문
[디딤돌 C++] 51. 묵시적 형 변환 연산자 중복 정의
'C++ > 디딤돌 C++' 카테고리의 다른 글
[C++ 소스] 개체 출력자 (0) | 2016.12.16 |
---|---|
[C++ 소스] iostream 클래스 내부 (0) | 2016.12.16 |
[C++ 소스] 동적 배열 클래스 (인덱스 연산자 중복 정의) (0) | 2016.12.15 |
[C++ 소스] 동적 배열 클래스 (대입 연산자 중복 정의) (0) | 2016.12.15 |
[C++ 소스] 성적 클래스 (증감 연산자 중복 정의) (0) | 2016.12.15 |