|
|
Integer a,b;
b = 123;
a = b;
a.print();
| |
|
|
// *********************************************************
// 代入
// *********************************************************
void Integer::operator = ( int a )
{
this->nData = a;
}
| |
|
|
// *********************************************************
// 文字列を代入
// *********************************************************
void Integer::operator = ( char *a )
{
this->nData = atoi( a );
}
| |
|
|
|
|
// *********************************************************
// 足し算 (1)
// *********************************************************
int Integer::operator + ( int a )
{
return( this->nData + a );
}
| |
|
|
Integer a,b;
a = 123;
b = a + 27;
b.print();
| |
|
|
Integer a,b;
a = 123;
b = 27 + a;
b.print();
| |
|
|
// *********************************************************
// クラス定義
// *********************************************************
class Integer
{
public:
Integer();
virtual ~Integer();
print();
// 代入
void operator = ( int a );
void operator = ( char *a );
// 足し算
int operator + ( int a );
friend int operator + ( int a, Integer obj );
int operator + ( Integer obj );
int nData;
};
// *********************************************************
// 足し算 (2)
// *********************************************************
int operator + ( int a, Integer obj )
{
return( a + obj.nData );
}
| |
|
|
// *********************************************************
// 足し算 (3)
// *********************************************************
int Integer::operator + ( Integer obj )
{
return( this->nData + obj.nData );
}
| |
|
|
Integer a,b;
a = 123;
b = a + "27";
b = "27" + a;
| |
|
|
|
|
// *********************************************************
// 加算代入 += (1)
// *********************************************************
int Integer::operator += ( int a )
{
return( this->nData += a );
}
// *********************************************************
// 加算代入 += (2)
// *********************************************************
int Integer::operator += ( Integer obj )
{
return( this->nData += obj.nData );
}
// *********************************************************
// 加算代入 += (3)
// *********************************************************
int Integer::operator += ( char *a )
{
return( this->nData += atoi( a ) );
}
| |
|
|
Integer a,b;
// int
a = 123;
a += 27;
a.print();
// Integer
a = 123;
b = 27;
a += b;
a.print();
// 文字列
a = 123;
a += "27";
a.print();
| |
|
|
|