Â̲èÈí¼þÔ°
×ÊѶÊ×Ò³> Èí¼þ½Ì³Ì> ±à³Ì¿ª·¢> C++Ö¸ÕëÔõôÓã¿C++Ö¸ÕëÓ÷¨»ã×Ü

C++Ö¸ÕëÔõôÓã¿C++Ö¸ÕëÓ÷¨»ã×Ü

×÷ÕߣºØýÃûÀ´Ô´£ºÂ̲èÈí¼þÔ°2013-05-08 16:42:56

C++µÄÖ¸ÕëÔõôÓÃ?ÔÚC++ÖУ¬Ö¸ÕëÓõñȽ϶࣬¶ÔÓÚÀïÃæÖÚ¶àµÄÖ¸ÕëÓ÷¨£¬²»ÃâŪµÃÓÐЩºýÍ¿¡£½ñÌ죬Â̲èС±à¶ÔC++ÖÐÖ¸ÕëµÄÓ÷¨½øÐÐÁËÕûÀí»ã×Ü£¬Õ¹ÏÖ¸ø´ó¼Ò£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú¡£

C++³ÌÐòÉè¼ÆÖØÒª»ù´¡¾ÍÊÇÀàºÍ¶ÔÏ󣬶ÔÏóÖ¸ÕëÊǺÜÖØÒªµÄÒ»²¿·Ö£¬°üÀ¨Ö¸Ïò¶ÔÏóµÄÖ¸Õë¡¢Ö¸Ïò¶ÔÏó³ÉÔ±µÄÖ¸Õë¡¢thisÖ¸Õë¡¢Ö¸Ïò¶ÔÏóµÄ³£Ö¸Õë¡¢Ö¸Ïò³£¶ÔÏóµÄÖ¸ÕëµÈ¡£

C++Ö¸ÕëÔõôÓã¿C++Ö¸ÕëÓ÷¨»ã×Ü1

Ó÷¨1¡¢Ö¸Ïò¶ÔÏóµÄÖ¸Õë

¶¨Ò壺¶ÔÏó¿Õ¼äµÄÆðʼµØÖ·¾ÍÊǶÔÏóµÄÖ¸Õë¡£

˵Ã÷£ºÔÚ½¨Á¢¶ÔÏóʱ£¬±àÒëϵͳ¾ÍΪÿ¸ö¶ÔÏó·ÖÅäÒ»¶¨µÄ´æ´¢¿Õ¼äÒÔ´æ·ÅÆä³ÉÔ±£¬²»¹ý×¢Ò⣬ÔÚÒ»°ãÇé¿öϲ»Í¬¶ÔÏóµÄÊý¾Ý´æ´¢µ¥ÔªÖдæ·ÅµÄÊý¾Ý³ÉÔ±ÊDz»Ïàͬ£¬¶ø²»Í¬¶ÔÏóµÄº¯Êý´úÂëÈ´ÊÇÏàͬµÄ£¬Ò²¾ÍÊÇ˵£¬ËüÃǵĺ¯Êý´úÂëÊǹ²ÏíµÄ¡£ÕâʱÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸öÖ¸Õë±äÁ¿ÓÃÀ´´æ·Å¶ÔÏóµÄÖ¸Õë¡£

¶¨ÒåÖ¸ÏòÀà¶ÔÏóµÄÖ¸Õë±äÁ¿µÄÒ»°ãÐÎʽÊÇ£º

ÀàÃû *¶ÔÏóÖ¸ÕëÃû;

Èç¶ÔÓÚÓë¸öTimeÀà¶ÔÏó£¬ÎÒÃÇ¿ÉÒÔÓУº

Time t;

Time *p;

p=&t;

ÎÒÃǾͿÉÒÔͨ¹ý¶ÔÏóÖ¸Õë·ÃÎʶÔÏóºÍ¶ÔÏóµÄ³ÉÔ±£¬¼ÙÈçËù¶¨ÒåµÄÀàÖÐÓÐÊý¾Ý³ÉÔ±hour¡¢minute¡¢sec,³ÉÔ±º¯ÊýÓÐgettime()£¬Ôò

(*p).hour ¼´ÎªpÖ¸Ïò¶ÔÏóÖеÄhour³ÉÔ±£¬Ï൱ÓÚt.hour

(*p).gettime() ¼´ÎªpÖ¸Ïò¶ÔÏóÖеijÉÔ±º¯Êýgettime(),Ï൱ÓÚt.gettime()

Ò²¿ÉÒÔÓÃÈçÏÂÐÎʽ£º

p->hour ºÍ p->gettime()ºÍÉÏÃæÊǵȼ۵ġ£

Ó÷¨2¡¢Ö¸Ïò¶ÔÏó³ÉÔ±µÄÖ¸Õë

(1)Ö¸Ïò¶ÔÏóÊý¾Ý³ÉÔ±µÄÖ¸Õë

ÔÚCÖÐÎÒÃÇѧ¹ýÖ¸ÏòÆÕͨ±äÁ¿µÄÖ¸Õë±äÁ¿£¬ÔÚC++Öж¨ÒåÖ¸Ïò¶ÔÏóÊý¾Ý³ÉÔ±µÄÖ¸Õë±äÁ¿µÄ·½·¨ºÍ¶¨ÒåÖ¸ÏòÆÕͨ±äÁ¿µÄÖ¸Õë±äÁ¿·½·¨Ïàͬ£¬ÆäÒ»°ãÐÎʽΪ£º

Êý¾ÝÀàÐÍÃû *Ö¸Õë±äÁ¿Ãû;

È磺

int *p;

p=&t.hour; //½«¶ÔÏótµÄÊý¾Ý³ÉÔ±hourµÄµØÖ·¸³¸øp£¬pÖ¸Ïòt.hour

(2)Ö¸Ïò¶ÔÏó³ÉÔ±º¯ÊýµÄÖ¸Õë

¶¨ÒåÖ¸Ïò¶ÔÏó³ÉÔ±º¯ÊýµÄÖ¸Õë±äÁ¿ºÍ¶¨ÒåÖ¸ÏòÆÕͨº¯ÊýµÄÖ¸Õë±äÁ¿²»Í¬¡£

ÔÚ¶¨ÒåÖ¸ÏòÆÕͨº¯ÊýµÄÖ¸Õë±äÁ¿Ê±ÎÒÃÇ¿ÉÒÔÕâÑù¶¨Ò壺

void (*p)();

p=fun;

(*p)(); //µ÷ÓÃfunº¯Êý

È»¶ø±àÒëϵͳҪÇóÔÚ½«º¯ÊýµØÖ·¸³¸øÖ¸Õë±äÁ¿Ê±±ØÐëÂú×ãÈý¸öÌõ¼þ£º

º¯Êý²ÎÊýÀàÐͼ°¸öÊýҪƥÅä

º¯Êý·µ»ØÖµµÄÀàÐÍҪƥÅä

ËùÊôµÄÀàҪƥÅä

ÏÔÈ»ÔÚÉÏÃæµÄpÓëÀàÊÇÎ޹صġ£ÎªÁËÂú×ãµÚÈýÌõ£¬ÎÒÃÇ¿ÉÒÔΪָÕëÖ¸¶¨À࣬¹Ê¶¨ÒåÖ¸Ïò¶ÔÏó³ÉÔ±º¯ÊýµÄÖ¸Õë±äÁ¿Ò»°ãÐÎʽΪ£º

Êý¾ÝÀàÐÍ(ÀàÃû::*Ö¸Õë±äÁ¿Ãû)(²ÎÊý±íÁÐ);

¿ÉÒÔÈÃÖ¸ÕëÖ¸Ïò¹«ÓõijÉÔ±º¯Êý£¬È磺

void (Time::*p)(); //¶¨ÒåÖ¸ÏòTimeÀà¶ÔÏó³ÉÔ±º¯ÊýµÄÖ¸Õë±äÁ¿p

p=&Time::gettime; //°ÑTimeÀàµÄ¹«ÓóÉÔ±º¯Êýgettime()µØÖ·¸³¸øÖ¸Õë±äÁ¿p

(t.*p)(); //µ÷ÓÃTimeÀà¶ÔÏótµÄ³ÉÔ±º¯Êýgettime()

×¢Ò⣺ÒòΪ³ÉÔ±º¯Êý²»´æ·ÅÔÚ¶ÔÏó¿Õ¼äÖУ¬¶à¸öͬÀà¶ÔÏó¹²Ïí´Ë³ÉÔ±º¯Êý´úÂ룬ËùÒÔÔÚ½«³ÉÔ±º¯ÊýµÄÈë¿ÚµØÖ·¸³¸øÖ¸Õë±äÁ¿ÊÇӦд³É£º

Ö¸Ïò¶ÔÏó³ÉÔ±º¯ÊýµÄÖ¸Õë±äÁ¿=&ÀàÃû::³ÉÔ±º¯ÊýÃû;

ÔÚ³ÉÔ±º¯ÊýÃûºóÃæûÓÐ"()",Èç¹ûд³Ép=&Time::gettime()ÊÇ´íÎóµÄ¡£

1 2 >
¹Ø¼ü´Ê£º C++Ö¸Õë C++ ±à³Ì
  • ÈÈÃÅÈí¼þ
  • ÈÈÃűêÇ©
·µ»Ø¶¥²¿