C ����ŁA��̒l���r���đ傫���ق���ԋp��������������Ƃ��܂��B
| 1
int max(int x, int y)
2 { 3 if( x > y ) 4 return x; 5 else 6 return y; 7 } |
�����Ăяo�����́A
int i = max( 1 , 2 );
�ȂǂƂ���悢�ł��傤�B
���āA�����Ŗ��ƂȂ�̂��A������ double �^��n�������ꍇ�ł��B
max ���͈�����
int ������Ă���̂ŁA
int i = max( 1.5 , 2.0 );
���Ƃ��邱�Ƃ͂ł��܂���B
�����������ꍇ�A C ����ł� max �̖��O��ύX���邵�������
����ł����B
| 1
int max_int(int x, int y)
2 { 3 if( x > y ) 4 return x; 5 else 6 return y; 7 } 8 double max_double(double x, double y) 9 { 10 if( x > y ) 11 return x; 12 else 13 return y; 14 } |
���̖����������ׂ� C++
����ł͓��������ł��������Ⴆ�ΈႤ���Ƃ��Ĉ���
���Ƃ��ł���悤�ɂȂ�܂����B
���̂��Ƃ����̃I�[�o�[���[�h (Overload) �Ƃ�����
���B
| 1
int max(int x, int y)
2 { 3 if( x > y ) 4 return x; 5 else 6 return y; 7 } 8 double max(double x, double y) 9 { 10 if( x > y ) 11 return x; 12 else 13 return y; 14 |
�Ăяo�����́A
int i = max( 1,2 ); //max(int,int)
�����
double j = max( 1.5,2.2 ); //max(double,
double)�����
�Ƃ��܂��B
5.1��
�� max ���͈������Ⴄ�����ŕϐ��̒��g�͑S�������ł����B
���̏ꍇ�A�킴�킴
����������ς�����������������͖̂ʓ|�ł��B
�����œo�ꂷ��̂� Template �ł��B
���̃R�[�h�����Ă��������B
| 1
template<typename T>
2 T my_max(T x,T y) 3 { 4 if( x > y ) 5 return x; 6 else 7 return y; 8 } |
T �^�Ƃ����V�����^�����o���Ă��܂��B
���̌^�͌Ăяo�����ɃR���p�C���������I�Ɍ^
�f���ď������s���Ă���܂��B
���̌Ăяo����
int i = my_max( 1,2 );
double j = my_max( 1.5,2.2 );
�ƂȂ�܂��B
������ 1 ��n�����ꍇ�A T �^�� int �^�ɒu���������܂��B
���l�� 1.5
��n����
�ꍇ�A T �^�� double �^�ɒu���������܂��B
[template
�̎g����]
| template<typename �V������`����^�̖��O
> |
[1] �n�[�o�[�g�E�V���g��, �g�b�v�X�^�W�I��, �ƏK C++ ������.