cpp08.cpp

来自「C++参考书」· C++ 代码 · 共 70 行

CPP
70
字号

// Coded by plusir -- Dec.30.2002.
// Standard C++ Bible -- (P290-11-8)

#include <iostream>
using namespace std ;

class CustomDate
{
	public:
		CustomDate( int d = 0, int y = 0 )
		{
			da = d ;
			yr = y ;
		}

		void display( void ) const
		{ cout << endl << yr << '-' << da ; }

		int da, yr ;
} ;

class Date
{
	public:
		Date( int m = 0, int d = 0, int y = 0 )
		{
			mo = m ;
			da = d ;
			yr = y ;
		}

		operator CustomDate( void )
		{
			static int dys[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } ;

			CustomDate cd( 0, yr ) ;
			for ( int i = 0; i < mo - 1; ++i )
				cd.da += dys[i] ;
			cd.da += da ;

			return cd ;
		}

		void display( void ) const
		{ cout << endl << mo <<'/' << da << '/' << yr ; }

	private:
		int mo ;
		int da ;
		int yr ;
} ;

int main()
{
	Date dt( 11, 17, 89 ) ;
	CustomDate cd ;

	cd = dt ;
	cd.display() ;

	cd = static_cast<CustomDate>( dt ) ;
	cd.display() ;

	cd = CustomDate( dt ) ;
	cd.display() ;

	return 0 ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?