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();