⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 #5_ver2.c

📁 c++编程的一些简单例子
💻 C
字号:
#line 1 "#5_VER2.cxx"
void *_new(long);
void _delete(void*);
void *_vec_new(void*,int,int,void*(*)(void*));
void _vec_delete(void*,int,int,void(*)(void*,int),...);
void exit(int);
static void cdecl _STI();
static void cdecl _STD();

typedef unsigned int size_t ;
typedef char *va_list ;
struct _iobuf { 
char *__iobuf__ptr ;
int __iobuf__cnt ;
char *__iobuf__base ;
char __iobuf__flag ;
char __iobuf__file ;} ;
extern struct _iobuf _iob [];
int _filbuf (struct _iobuf *);
int _flsbuf (int , struct _iobuf *);
void clearerr (struct _iobuf *);
int fclose (struct _iobuf *);
int fcloseall (void );
struct _iobuf *fdopen (int , char *);
int fflush (struct _iobuf *);
int fgetc (struct _iobuf *);
int fgetchar (void );
int fgetpos (struct _iobuf *, long *);
char *fgets (char *, int , struct _iobuf *);
int flushall (void );
struct _iobuf *fopen (char *, char *);
int fprintf (struct _iobuf *, char *, ... );
int fputc (int , struct _iobuf *);
int fputchar (int );
int fputs (char *, struct _iobuf *);
size_t fread (void *, size_t , size_t , struct _iobuf *);
struct _iobuf *freopen (char *, char *, struct _iobuf *);
int fscanf (struct _iobuf *, char *, ... );
int fsetpos (struct _iobuf *, long *);
int fseek (struct _iobuf *, long , int );
long ftell (struct _iobuf *);
size_t fwrite (void *, size_t , size_t , struct _iobuf *);
char *gets (char *);
int getw (struct _iobuf *);
void perror (char *);
int printf (char *, ... );
int puts (char *);
int putw (int , struct _iobuf *);
int remove (char *);
int rename (char *, char *);
void rewind (struct _iobuf *);
int rmtmp (void );
int scanf (char *, ... );
void setbuf (struct _iobuf *, char *);
int setvbuf (struct _iobuf *, char *, int , size_t );
int sprintf (char *, char *, ... );
int sscanf (char *, char *, ... );
char *tempnam (char *, char *);
struct _iobuf *tmpfile (void );
char *tmpnam (char *);
int ungetc (int , struct _iobuf *);
int unlink (char *);
int vfprintf (struct _iobuf *, char *, va_list );
int vprintf (char *, va_list );
int vsprintf (char *, char *, va_list );


struct animal { 
	int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _animal_identify (struct animal* );
static int (pascal *animal__vtbl_PN[])() = {
	(int(pascal *)()) _animal_identify , 
	(int(pascal *)()) 0
};

struct mammal { 
	int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _mammal_identify (struct mammal* );
static int (pascal *mammal__vtbl_PN[])() = {
	(int(pascal *)()) _mammal_identify , 
	(int(pascal *)()) 0
};

struct bird { 
	int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _bird_identify (struct bird* );
static int (pascal *bird__vtbl_PN[])() = {
	(int(pascal *)()) _bird_identify , 
	(int(pascal *)()) 0
};

struct dog { 
	int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _dog_identify (struct dog* );
static int (pascal *dog__vtbl_PN[])() = {
	(int(pascal *)()) _dog_identify , 
	(int(pascal *)()) 0
};

struct eagle { 
	int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _eagle_identify (struct eagle* );
static int (pascal *eagle__vtbl_PN[])() = {
	(int(pascal *)()) _eagle_identify , 
	(int(pascal *)()) 0
};

void print1 (void );
void print2 (void );
void print3 (void );

int main ()
{ 
	{ 
		print1 ( ) ;
		print2 ( ) ;
		print3 ( ) ;
	}  
	exit ( 0 ); 
}

extern void print1 ()
{ 
	struct animal *_au1_ap = 0 ;
	struct mammal *_au1_mp = 0 ;
	struct bird *_au1_bp = 0 ;
	struct dog *_au1_dp = 0 ;
	struct eagle *_au1_ep = 0 ;
	register struct mammal *_au0__Xthis__ctor_mammal = 0 ;
	register struct bird *_au0__Xthis__ctor_bird = 0 ;
	register struct dog *_au0__Xthis__ctor_dog = 0 ;
	register struct eagle *_au0__Xthis__ctor_eagle = 0 ;
	register struct animal *_au0__Xthis__ctor_animal = 0 ;

	_au1_ap = (struct animal *)( (_au0__Xthis__ctor_animal = 0 ), 
		( ( (_au0__Xthis__ctor_animal = (struct animal *)_new ( 
			(long )(sizeof (struct animal))) ), 0 ) , 
			( (_au0__Xthis__ctor_animal -> _animal__vptr_PN 
			=  animal__vtbl_PN), ((_au0__Xthis__ctor_animal ))) ) ) ;
			
	(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;

	_au1_mp = (struct mammal *)( (_au0__Xthis__ctor_mammal = 0 ), 
		( ( (_au0__Xthis__ctor_mammal = (struct mammal *)_new ( 
			(long )(sizeof (struct mammal))) ), 0 ) , 
			( ( (_au0__Xthis__ctor_mammal 
			= (struct mammal *)( ( ((((struct animal *)
			_au0__Xthis__ctor_mammal ))-> _animal__vptr_PN 
			=  animal__vtbl_PN), 
			(((((struct animal *)_au0__Xthis__ctor_mammal ))))) ) ), 
			(_au0__Xthis__ctor_mammal -> _animal__vptr_PN 
			=  mammal__vtbl_PN)) , ((_au0__Xthis__ctor_mammal ))) ) ) ;
	
	(*(((void (pascal *)())(*_au1_mp -> _animal__vptr_PN ))))( _au1_mp ) ;

	_au1_bp = (struct bird *)( (_au0__Xthis__ctor_bird = 0 ), 
		( ( (_au0__Xthis__ctor_bird = (struct bird *)_new ( 
			(long )(sizeof (struct bird))) ), 0 ) , 
			( ( (_au0__Xthis__ctor_bird = (struct bird *)
			( ( ((((struct animal *)_au0__Xthis__ctor_bird ))-> 
			_animal__vptr_PN =  animal__vtbl_PN), 
			(((((struct animal *)_au0__Xthis__ctor_bird ))))) ) ), 
			(_au0__Xthis__ctor_bird -> _animal__vptr_PN 
			=  bird__vtbl_PN)) , ((_au0__Xthis__ctor_bird ))) ) ) ;
			
	(*(((void (pascal *)())(*_au1_bp -> _animal__vptr_PN ))))( _au1_bp ) ;

	_au1_dp = (struct dog *)( (_au0__Xthis__ctor_dog = 0 ), 
		( ( (_au0__Xthis__ctor_dog = (struct dog *)_new ( 
			(long )(sizeof (struct dog))) ), 0 ) , 
			( ( (_au0__Xthis__ctor_dog = (struct dog *)
			( ( ( (( ( ((((struct animal *)(((struct mammal *)
			_au0__Xthis__ctor_dog ))))-> _animal__vptr_PN 
			=  animal__vtbl_PN), 
			(((((struct animal *)(((struct mammal *)
			_au0__Xthis__ctor_dog ))))))) ) ), 
			((((struct mammal *)_au0__Xthis__ctor_dog ))-> _animal__vptr_PN 
			=  mammal__vtbl_PN)) , 
			(((((struct mammal *)_au0__Xthis__ctor_dog ))))) ) ), 
			(_au0__Xthis__ctor_dog -> _animal__vptr_PN 
			=  dog__vtbl_PN)) , ((_au0__Xthis__ctor_dog ))) ) ) ;
			
	(*(((void (pascal *)())(*_au1_dp -> _animal__vptr_PN ))))( _au1_dp ) ;

	_au1_ep = (struct eagle *)( (_au0__Xthis__ctor_eagle = 0 ), 
		( ( (_au0__Xthis__ctor_eagle = (struct eagle *)_new ( 
		(long )(sizeof (struct eagle))) ), 0 ) , 
		( ( (_au0__Xthis__ctor_eagle = (struct eagle *)
		( ( ( (( ( ((((struct animal *)(((struct bird *)
		_au0__Xthis__ctor_eagle ))))-> _animal__vptr_PN 
		=  animal__vtbl_PN), (((((struct animal *)
		(((struct bird *)_au0__Xthis__ctor_eagle ))))))) ) ), 
		((((struct bird *)_au0__Xthis__ctor_eagle ))-> _animal__vptr_PN 
		=  bird__vtbl_PN)) , 
		(((((struct bird *)_au0__Xthis__ctor_eagle ))))) ) ), 
		(_au0__Xthis__ctor_eagle -> _animal__vptr_PN =  eagle__vtbl_PN)) , 
		((_au0__Xthis__ctor_eagle ))) ) ) ;
		
	(*(((void (pascal *)())(*_au1_ep -> _animal__vptr_PN ))))( _au1_ep ) ;

	printf ( (char *)"\n") ;
} 

extern void print2 ()
{ 
	struct animal *_au1_ap = 0 ;
	struct mammal *_au1_mp = 0 ;
	struct mammal *_au0__K1 = 0 ;
	
	register struct animal *_au0__Xthis__ctor_animal = 0 ;
	
	_au1_ap = (struct animal *)( (_au0__Xthis__ctor_animal = 0 ), 
		( ( (_au0__Xthis__ctor_animal = (struct animal *)_new ( 
			(long )(sizeof (struct animal))) ), 0 ) , 
			( (_au0__Xthis__ctor_animal -> _animal__vptr_PN 
			=  animal__vtbl_PN), ((_au0__Xthis__ctor_animal ))) ) ) ;

	(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;

	( (_au0__K1 = (((struct mammal *)_au1_ap ))), (*(((void (pascal *)())
		(*_au0__K1 -> _animal__vptr_PN ))))( _au0__K1 ) ) ;

	_au1_mp = (((struct mammal *)_au1_ap ));
	(*(((void (pascal *)())(*_au1_mp -> _animal__vptr_PN ))))( _au1_mp ) ;

	printf ( (char *)"\n") ;} 

extern void print3 ()
{ 
	struct animal _au1_a ;
	struct animal *_au1_ap = 0 ;
	struct mammal _au1_m ;
	struct eagle _au1_e ;

	( ( ((& _au1_a )-> _animal__vptr_PN =  animal__vtbl_PN), 
			(((& _au1_a )))) ) ;
	
	_au1_ap = (& _au1_a );

	( ( ( (( ( ((((struct animal *)(& _au1_m )))-> _animal__vptr_PN 
		=  animal__vtbl_PN), (((((struct animal *)(& _au1_m )))))) ) ), 
		((& _au1_m )-> _animal__vptr_PN =  mammal__vtbl_PN)) , 
		(((& _au1_m )))) ) ;

	( ( ( (( ( ( (( ( ((((struct animal *)
		(((struct bird *)(& _au1_e )))))-> _animal__vptr_PN 
		=  animal__vtbl_PN), 
		(((((struct animal *)(((struct bird *)(& _au1_e )))))))) ) ), 
		((((struct bird *)(& _au1_e )))-> _animal__vptr_PN 
		=  bird__vtbl_PN)) , (((((struct bird *)(& _au1_e )))))) ) ), 
		((& _au1_e )-> _animal__vptr_PN =  eagle__vtbl_PN)) , 
		(((& _au1_e )))) ) ;

	(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;

	_au1_ap = (struct animal *)(& _au1_m );
	
	(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;

	printf ( (char *)"\n") ;} 

static void pascal _eagle_identify (register struct eagle *this )
{ 
	printf ( (char *)"%s\n", "eagle") ;
} 

static void pascal _dog_identify (register struct dog *this )
{ 
	printf ( (char *)"%s\n", "dog") ;
} 

static void pascal _bird_identify (register struct bird *this )
{ 
	printf ( (char *)"%s\n", "bird") ;
} 

static void pascal _mammal_identify (register struct mammal *this )
{ 
	printf ( (char *)"%s\n", "mammal") ;
} 

static void pascal _animal_identify (register struct animal *this )
{ 
	printf ( (char *)"%s\n", "animal") ;
} 

⌨️ 快捷键说明

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