Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

CÎÊÌ⼯½õ£¨Ò»£©

Â¥Ö÷·¢±íÓÚ£º2009-07-24 10:11:03ÊÇÕâÑùµÄ,È¥Ò»¼Ò¹«Ë¾ÃæÊÔ,Óöµ½ÁËÒ»µÀcÓïÑÔµÄÌâ,¸öÈË
¸Ð¾õºÜ¹Ö,ÒÔǰû¼û¹ýÀàËÆµÄ,È»ºóÖ÷¿¼¹Ù˵ÕâÊǹØÓÚCÓïÑÔÇ¿ÈõÀàÐÍת»»Ê²Ã´µÄ,ÎҸоõËû
×Ô¼º¶¼²»ÍêÈ«Çå³þ,È»ºó»ØÀ´ÔÚÍøÉϲ鵽ÕâÊÇÓ¢¹ú½£ÇÅ´óÑ§ÍøÉϳöµÄ¼ÆËã»úÌâ :
#include <stdio.h>
#define init_employee(X,Y) {(X),(Y),wage_emp}
typedef struct Employee Em;
struct Employee {int hours,salary;int (*wage)(Em*);};
int wage_emp(Em *ths) {return ths->hours*ths->salary;}
#define init_manager(X,Y,Z) {(X),(Y),wage_man,(Z)}
typedef struct Manager Mn;
struct Manager {int hours,salary;int (*wage)(Mn*);int bonus;};
int wage_man(Mn *ths) {return ths->hours*ths->salary+ths->bonus;}
int main(void) {
Mn m = init_manager(40,10,20);
Em *e= (Em *) &m;
printf("%d\n",e->wage(e));
return 0;
}
×îºóÊä³öÊÇ420,¿ÉÎÒдµÄÊÇ400,ÓÐÇë¸ßÈËÄÜÏêϸ½âÊÍÏÂÕâÌâµÄÒâ˼ô,Ϊʲôº¯ÊýÖ¸Õëµ÷ÓÃ
µÄ²»ÊÇwage_emp,²ÎÊý¶¼²»Æ¥Åä°¢,¶øÇÒEm *e= (Em *) &mµ½µ×ÓÐʲôÒâÒå,ÒòΪËüºóÃæ»¹ÓÐ
Ìí¼ÓµÄÎÊÌâÊÇÓÃC++À´ÖØÐ´²¢ËµÃ÷ºÃ´¦,ÄÇËüÕâôʵÏÖÊÇÏëÓÃCʵÏÖ¶à̬µÄÐÔÖÊô,×ÜÖ®¸Ð¾õ
ºÜ¹Ö,Íû¸ßÈ˽â´ð!!
-------------------------------
nit_managerʱ£¬Ð´Èëµ½½á¹¹ÌåÖеÄÖ¸Õë¾ÍÊÇwage_man£¬¶ø²»ÊÇwage_emp£¬ºóÃæËäÈ»&m±»Ç¿
ÖÆ×ª»»³ÉÁËEm*ÀàÐÍ£¬µ«ÀàÐÍÇ¿ÖÆ×ª»»²¢²»»á¸Ä±ä½á¹¹Ìå±äÁ¿ÖеÄÊý¾Ý¡£Òò´ËÄǸöº¯ÊýÖ¸Õë
Ö¸ÏòµÄÈÔÈ»ÊÇwage_manÕâ¸öº¯Êý¡£
ÕâÀïÔËÓÃÁËһЩÇɺϣºËäÈ»wage_emp¸úwage_manÁ½¸öº¯ÊýµÄÇ©ÃûÊDz»Ò»ÑùµÄ£¬µ«´Óµ×²ãÀ´
¿´£¬²¢ÎÞ¶à´óÇø±ð£¬²ÎÊý¶¼ÊÇÒ»¸öËÄ×Ö½ÚµÄÖ¸Õ룬·µ»ØÖµ¶¼ÊÇint£¬Õâ¾ÍʹµÃËüÃǵĵײãµ÷
ÓûúÖÆÊÇÒ»ÑùµÄ£¬º¯Êýµ÷ÓÃÎÞ·ÇÊDzÎÊýѹջ¡¢Ö¸ÕëÌø×ªÕâÀàÖ¸Á²ÎÊýºÍ·µ»ØÖµÀàÐͶ¼Ò»
Ñù£¬µ÷ÓõÄÖ¸Áî¾Í¿Ï¶¨ÊÇÍêȫһÑùµÄ¡£
Òò´ËËäÈ»ÊÇ´«µÝÒ»¸öEm*ÀàÐ͵IJÎÊý¶øÊµ¼Êµ÷ÓõÄÊÇwage_man£¬µ«ÓÉÓÚÕâЩÇɺϣ¬±àÒëÆ÷¾Í
ÕâÑù±»Çá¶øÒ×¾ÙµØÆÛÆ­……£¬Ò²¾ÍÊÇ˵£¬×îºó±»Êµ¼Êµ÷ÓõÄwage_manÈÔÈ»°Ñ²ÎÊýµ±³ÉMn*£¬
¶øÊµ¼ÊÉÏËüÓÖȷȷʵʵÊǸöMn*£¬ÓÚÊÇÒ²²»»á³öÈκÎÎÊÌâ¡£
Èç¹ûÓÃC++À´Ð´£¬ÓÉÓÚC++ÓÐÄÚÖõØÖ§³Ö¶à̬µÄ»úÖÆ£¬¾ÍÓò»×ÅʹÓÃÕâЩÁîÈ˷ѽâµÄÆÛÆ­±à
ÒëÆ÷µÄÊÖ·¨ÁË¡£
-------------------------------
ʵ¼ÊÉϹ۲ìEmployee ºÍManager µÄ½á¹¹²»ÄÑ·¢ÏÖ
Manager Ö»ÊDZÈEm


Ïà¹ØÎĵµ£º

c±àÒëÈ«¹ý³Ì

CÓïÑÔ±àÒëÈ«¹ý³Ì
    ±àÒëµÄ¸ÅÄ±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
    ±àÒëµÄÍêÕû¹ý³Ì£ºCÔ´³ÌÐò£­£­>Ô¤±àÒë´¦Àí(.c)£­£­ ......

extern ¡°C"×÷ÓÃ

1¡¢ÔÚcppÎļþÖе÷ÓÃcÎļþÖÐʵÏֵĺ¯ÊýµÄʱºò£¬ÐèÒªÓÃextern "C"ÉùÃ÷¸Ãº¯Êý£¬·ñÔòcpp»á°´Ãû×ָıàºóµÄ
º¯ÊýÃûÈ¥ÕҸú¯Êý¶øÕÒ²»µ½¡£
cppÎļþµ÷ÓÃcÎļþÖк¯ÊýÈçÏ£º
   cÎļþÖÐÓÐÒ»º¯Êý£º
              void Transfer(int a; char b);
&nbs ......

C/C++:³ÌÐòµÄÄÚ´æ·ÖÅ䷽ʽ


2008-07-07 23:32:21
 
1.ÄÚ´æ·ÖÅ䷽ʽ
ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
[1]´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ­·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆÚ¼ä¶¼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿¡£
[2]ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøÊ±ÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ ......

C/C+ÓïÑÔstructÉî²ã̽Ë÷ (ת)

C/C+ÓïÑÔstructÉî²ã̽Ë÷     
  
  ×÷ÕߣºËᦻª               ³ö´¦£ºPConline 
  
  1.   structµÄ¾Þ´ó×÷Óà
  ¡¡¡¡Ãæ¶ÔÒ»¸öÈ˵ĴóÐÍC/C++³ÌÐòʱ£¬Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ