µÚÎåÕ ÀàÓë¶ÔÏóϰÌâ
µÚÎåÕ ÀàÓë¶ÔÏóϰÌâ
Ò». »ù±¾¸ÅÄîÓë»ù´¡ÖªÊ¶×Ô²âÌâ
5.1 Ìî¿ÕÌâ
5.1.1 ÒýÈëÀඨÒåµÄ¹Ø¼ü×ÖÊÇ £¨1£© ¡£ÀàµÄ³ÉÔ±º¯Êýͨ³£Ö¸¶¨Îª £¨2£© £¬ÀàµÄ
Êý¾Ý³ÉԱͨ³£Ö¸¶¨Îª £¨3£© ¡£Ö¸¶¨Îª £¨4£© µÄÀà³ÉÔ±¿ÉÒÔÔÚÀà¶ÔÏóËùÔÚÓòÖеÄÈκÎλÖ÷ÃÎÊËüÃÇ¡£Í¨³£ÓÃÀàµÄ £¨5£© ³ÉÔ±±íʾÀàµÄÊôÐÔ£¬ÓÃÀàµÄ £¨6£© ³ÉÔ±±íʾÀàµÄ²Ù×÷¡£ ´ð°¸£º
£¨1£© class
£¨2£© ¹«ÓеÄpublic £¨3£© ˽ÓеÄprivate £¨4£© ¹«ÓеÄpublic £¨5£© Êý¾Ý £¨6£© º¯Êý
5.1.2 ÀàµÄ·ÃÎÊÏÞ¶¨·û°üÀ¨ £¨1£© ¡¢ £¨2£© ºÍ £¨3£© ¡£Ë½ÓÐÊý¾Ýͨ³£ÓÉ
£¨4£© º¯ÊýÀ´·ÃÎÊ£¨¶ÁºÍд£©¡£ÕâЩº¯Êýͳ³ÆÎª £¨5£© ¡£ ´ð°¸£º
£¨1£© public£¨¹«Óеģ© £¨2£© private£¨Ë½Óеģ© £¨3£© protected£¨±£»¤µÄ£© £¨4£© ¹«ÓеijÉÔ±º¯Êý £¨5£© ÀàµÄ½Ó¿Ú
5.1.3 ͨ³£ÔÚÂß¼ÉÏ£¬Í¬Ò»ÀàµÄÿ¸ö¶ÔÏó¶¼ÓÐ £¨1£© ´úÂëÇø£¬ÓÃÒÔ´æ´¢³ÉÔ±º¯Êý¡£¶øÔÚÎïÀíÉÏͨ³£Ö»ÓÐ £¨2£© ´úÂëÇø¡£Ö»ÓÐÔÚ £¨3£© ¶¨Ò壬²¢ £¨4£© µÄº¯ÊýºÍ¼ÓÁ˹ؼü×Ö £¨5£© µÄº¯ÊýÀýÍâ¡£ ´ð°¸£º
£¨1£© ¶ÀÁ¢µÄ £¨2£© ¹²ÓÃµÄ £¨3£© ÔÚÀà˵Ã÷ÖÐ
£¨4£© ²»°üÀ¨Ñ»·µÈ¸´Ôӽṹ £¨5£© inline
5.1.4 C++ÖÐÖ§³ÖÈýÖÖÓò£º £¨1£© ¡¢ £¨2£© ¡¢ £¨3£© ¡£º¯ÊýÓò±»°üÀ¨ÔÚ
£¨4£© ÖУ¬È«¾ÖÓò±»°üÀ¨ÔÚ £¨5£© ÖС£usingָʾ·ûÒԹؼü×Öusing¿ªÍ·£¬ºóÃæÊǹؼü×Ö £¨6£© £¬×îºóÊÇ £¨7£© ¡£ÕâÑù±íʾÒÔºóÔÚ¸ÃÃû×Ö¿Õ¼äÖÐËùÓгÉÔ±¶¼ £¨8£© ¡£È粻ʹÓÃusingָʾ·ûÔòÔÚʹÓÃʱҪ¼Ó::£¬³ÆÎª £¨9£© ÔËËã·û¡£ ´ð°¸£º
£¨1£© ¾Ö²¿Óò£¨local scope£©
£¨2£© Ãû×Ö¿Õ¼äÓò£¨namespace scope£© £¨3£© ÀàÓò£¨class scope£© £¨4£© ¾Ö²¿Óò £¨5£© Ãû×Ö¿Õ¼äÓò £¨6£© namespace £¨7£© Ãû×Ö¿Õ¼äÃû
1
µÚÎåÕ ÀàÓë¶ÔÏóϰÌâ
£¨8£© ¿ÉÒÔÖ±½Ó±»Ê¹Óà £¨9£© Óò
5.1.5 ÒýÓÃͨ³£ÓÃ×÷º¯ÊýµÄ £¨1£© ºÍ £¨2£© ¡£¶ÔÊý×éÖ»ÄÜÒýÓà £¨3£©²»ÄÜÒýÓà £¨4£© ¡£ ´ð°¸£º
£¨1£© ²ÎÊý £¨2£© ·µ»ØÖµ £¨3£© Êý×éÔªËØ £¨4£© Êý×éÃû±¾Éí
5.1.6 ¹¹Ô캯ÊýµÄÈÎÎñÊÇ £¨1£© ºÍ £¨2£© ¡£¹¹Ô캯ÊýÎÞ £¨3£© £¬µ«²¢²»
±íʾ £¨4£© ¡£ÀàÖпÉÒÔÓÐ £¨5£© ¸ö¹¹Ô캯Êý£¬ËüÃÇÓÉ £¨6£© Çø·Ö¡£Èç¹ûÀà˵Ã÷ÖÐûÓиø³ö¹¹Ô캯Êý£¬ÔòC++±àÒëÆ÷»á £¨7£© ¡£¿½±´¹¹Ô캯ÊýµÄ²ÎÊýÊÇ £¨8£© £¬µ±³ÌÐòûÓиø³ö¿½±´¹¹Ô캯Êýʱ£¬ÏµÍ³»á×Ô¶¯Ìṩ £¨9£© Ö§³Ö£¬ÕâÑùµÄ¿½±´¹¹Ô캯ÊýÖÐÿ¸öÀà³ÉÔ± £¨10£© ¡£ ´ð°¸£º
£¨1£© ½¨Á¢¶ÔÏó£¨Îª¶ÔÏó·ÖÅäÄڴ棩 £¨2£© ³õʼ»¯Êý¾Ý³ÉÔ± £¨3£© º¯Êý·µ»ØÀàÐÍ˵Ã÷
£¨4£© ûÓзµ»ØÖµ£¬·µ»ØµÄÊǹ¹Ô캯ÊýËù´´½¨µÄ¶ÔÏó £¨5£© ¶à
£¨6£© ²»Í¬µÄ²ÎÊý±í
£¨7£© ×Ô¶¯¸ø³öÒ»¸öȱʡµÄ¹¹Ô캯Êý £¨8£© ͬһÀà¶ÔÏóµÄÒýÓÃ
£¨9£© ȱʡµÄ¿½±´¹¹Ô캯£¬³ÆÎªÈ±Ê¡µÄ°´³ÉÔ±ÓïÒåÖ§³Ö¡£ £¨10£© ±»ÒÀ´Î¿½±´
5.1.7 Ò»¸öÀàÓÐ £¨1£© ¸öÎö¹¹º¯Êý¡£ £¨2£© ʱ£¬ÏµÍ³»á×Ô¶¯µ÷ÓÃÎö¹¹º¯Êý¡£ ´ð°¸£º £¨1£© Ò»
£¨2£© ¶ÔÏó×¢Ïúʱ
5.1.8 ÔËËã·ûÖØÔØÊ±£¬Æäº¯ÊýÃûÓÉ £¨1£© ¹¹³É¡£³ÉÔ±º¯ÊýÖØÔØË«Ä¿ÔËËã·ûʱ£¬×ó²Ù×÷ÊýÊÇ £¨2£© £¬ÓÒ²Ù×÷ÊýÊÇ £¨3£© ¡£ ´ð°¸£º
£¨1£© ¹Ø¼ü×ÖoperatorºÍ¸ÃÔËËã·û £¨2£© ¶ÔÏó
£¨3£© ¸Ãº¯ÊýµÄ²ÎÊý
5.2 ¼ò´ðÌ⣨ÒÔÏÂϰÌâÌâºÅ¿ÉÄܺͽ̲IJ»Ò»Ö£¡£©
5.2.1 Ϊʲô·µ»ØÖµÎªÒýÓõĺ¯Êý¿ÉÒÔ×÷Ϊ×óÖµ£¿
´ð£ºº¯Êý·µ»ØÒýÓÃʵ¼ÊÊÇÖ¸Ã÷£¨·µ»Ø£©ÁËÏàÓ¦µÄ¹ØÁª±äÁ¿£¬ËùÒÔÉùÃ÷·µ»ØÖµÎªÒýÓõĺ¯Êýʵ¼ÊÉÏÊǽ«¹ØÁª±äÁ¿×÷Ϊ×óÖµ²ÎÓëÔËËã¡£
5.2.2 ʲôÊÇȱʡµÄ¹¹Ô캯Êý£¿È±Ê¡µÄ¹¹Ô캯Êý×î¶à¿ÉÒÔÓжàÉÙ¸ö£¿
´ð£ºÈç¹ûÔÚÀඨÒåÖв»ÏÔʽµØ¶¨Òå¹¹Ô캯Êý£¬C++±àÒëÆ÷»á×Ô¶¯²úÉúÒ»¸öȱʡµÄ¹¹Ô캯Êý£¬²»¹ý¸Ãº¯Êý²»×ö¾ßÌåµÄ³õʼ»¯¹¤×÷¡£Ö»Òª¹¹Ô캯ÊýÊÇÎ޲εĻòÕßÖ»Òª¸÷²ÎÊý¾ùÓÐȱʡֵµÄ£¬
2
µÚÎåÕ ÀàÓë¶ÔÏóϰÌâ
C++±àÒëÆ÷¶¼ÈÏΪÊÇȱʡµÄ¹¹Ô캯Êý¡£È±Ê¡µÄ¹¹Ô캯ÊýÖ»ÄÜÓÐÒ»¸ö¡£
5.2.3 ¿½±´¹¹Ô캯ÊýÓÃÓÚÄÄÈý¸ö·½Ã棿 ´ð£º
£¨1£© ÓÃÀàµÄÒ»¸ö¶ÔÏóÈ¥³õʼ»¯¸ÃÀàµÄÁíÒ»¸ö¶ÔÏóʱʹÓá£
£¨2£© µ±º¯ÊýµÄÐβÎÊÇÀàµÄ¶ÔÏ󣬵÷Óú¯Êýʱ£¬½øÐÐÐβÎÓëʵ²Î½áºÏʱʹÓᣠ£¨3£© µ±º¯ÊýµÄ·µ»ØÖµÊÇÀà¶ÔÏ󣬺¯ÊýÖ´ÐнáÊø·µ»Øµ÷ÓÃÕßʱʹÓá£
5.2.4 ËùÓÐÀà¶ÔÏóÎ´ÖØÔØµÄ¸³ÖµÔËËã·û¡°£½¡±ÊÇÔõÑù¹¤×÷µÄ£¿ÎªÊ²Ã´Ëü¿ÉÒÔ½øÐÐÁ¬Ðø¸³Öµ£¿ ´ð£º¶ÔËùÓеÄÀà¶ÔÏó£¬Î´ÖØÔصĸ³ÖµÔËËã·û¡° =¡±³Æ×÷ȱʡµÄ°´³ÉÔ±¿½±´¸³Öµ²Ù×÷·û£¬Í¬Àà¶ÔÏóÖ®¼ä¿ÉÒÔÓá°=¡±Ö±½Ó¿½±´¡£ÒòΪȱʡµÄ¸³Öµ²Ù×÷·µ»ØÒ»¸ö¶ÔÏóµÄÒýÓã¬ËùÒÔËü¿ÉÒÔ½øÐÐÁ¬Ðø¸³Öµ¡£
5.2.5 ΪʲôÔÚÓÑÔªº¯ÊýµÄº¯ÊýÌåÄÚ·ÃÎʶÔÏó³ÉԱʱ£¬±ØÐëÓöÔÏóÃû¼ÓÔËËã·û¡°£®¡±ÔÙ¼Ó¶Ô
Ïó³ÉÔ±Ãû£¿
´ð£ºÓÑÔªº¯Êý²»ÊÇÀàµÄ³ÉÔ±º¯Êý£¬ÔÚº¯ÊýÌåÖзÃÎʶÔÏóµÄ³ÉÔ±£¬±ØÐëÓöÔÏóÃû¼ÓÔËËã·û¡°.¡±¼Ó¶ÔÏó³ÉÔ±Ãû¡£ÕâÒ»µãºÍÒ»°ãº¯ÊýÒ»Ñù¡£
5.2.6 ÖØÔØ¸´ÊýÔËËã·û£«Ê±£¬²ÉÓÃÏÂÃæÓÑÔªº¯ÊýÉùÃ÷£º
friend Complex operator+(Complex &c1,Complex &c2);
Ϊʲô²»ÄÜÓÃÓÚ¡°ÊµÊý+¸´Êý¡±£¿ÔõÑù¸Ä½ø²ÅÄÜÊÊÓã¿ÎªÊ²Ã´£¿
´ð£ºÊ¹ÓÃÒýÓÃÀàÐͱäÁ¿×÷ΪÔËËã·ûÖØÔØº¯ÊýµÄ²ÎÊý£¬ÉíΪ×óÖµµÄʵÊýÀàÐÍʵ²Î²»Äܱ»×ª»»Îª¸´Êý£¬±àÒëʱÎÞ·¨Í¨¹ý¡£Ìí¼Óconst˵Ã÷£¬Ê¹ÊµÊýµ½¸´ÊýµÄת»»ÒþʽµØÔÚÒ»·Ý¿½±´ÉϽøÐУ¬Ôò¿ÉÒÔʵÏÖ¡°ÊµÊý+¸´Êý¡±ÔËËã¡£Ð޸ĺóµÄ˵Ã÷Ϊ£º friend Complex operator+(constr Complex &c1, const Complex &c2);
5.2.7 C++Öнṹ¡¢ÁªºÏÓëÀàÈýÕß¼äÓкÎÒìͬ£¿
´ð£ºÔÚC++Öнṹ£¨structure£©ÓëÀ༸ºõÊÇÍêȫһÑùµÄÀàÐÍ£¬²î±ð½ö½öÔÚÓÚȱʡÇé¿öϽṹµÄ³ÉԱΪ¹«Óеġ£ÁªºÏ£¨union£©ÊÇC++µÄµ¼³öÊý¾ÝÀàÐÍ£¬ÔÚÓï·¨Ó빦ÄÜÉÏÀàËÆÓڽṹ£¬¶þÕßµÄÇø±ðÊÇ£º½á¹¹±äÁ¿µÄ¸÷³ÉԱͬʱ±»·ÖÅäÁ˸÷×Ô¶ÀÁ¢µÄÄÚ´æÇø£¬¶øÁªºÏ±äÁ¿µÄ¸÷¸ö³ÉÔ±µÄ´æ´¢¿ªÊ¼µØÖ·¶¼Ïàͬ£¬ËùÒÔÔÚÈÎһʱ¿ÌÁªºÏ±äÁ¿Ö»ÄÜ´æ´¢Ò»¸ö³ÉÔ±¡£
¶þ£®±à³ÌÓë×ÛºÏÁ·Ï°Ìâ
5.3 ¹¹ÔìÒ»¸öÈÕÆÚʱ¼äÀࣨTimedate£©£¬Êý¾Ý³ÉÔ±°üÀ¨Äê¡¢Ô¡¢ÈÕºÍʱ¡¢·Ö¡¢Ã룬º¯Êý³ÉÔ±
°üÀ¨ÉèÖÃÈÕÆÚʱ¼äºÍÊä³öʱ¼ä£¬ÆäÖÐÄê¡¢ÔÂÇëÓÃö¾ÙÀàÐÍ£¬²¢Íê³É²âÊÔ¡££¨°üÀ¨ÓóÉÔ±º¯ÊýºÍÓÃÆÕͨº¯Êý£©
½â£º±¾ÌâÒªÇó½öÊǶ¨ÒåÀàµÄÁ·Ï°£¬²¢·ÇʵÓõÄÌṩÈÕÆÚʱ¼äµÄ³ÌÐò¡£ÊµÓõÄÈÕÆÚʱ¼ä³ÌÐò
¼û¸½Â¼¶þµÄÈÕÆÚʱ¼äº¯Êý¡£ #include
enum YR{Y2000,Y2001,Y2002,Y2003,Y2004,Y2005};//ö¾ÙÃû±ØÐëÊDZêʶ·û enum MT{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}; class Timedate{
3
µÚÎåÕ ÀàÓë¶ÔÏóϰÌâ
private: YR year; MT month; int date; int hh; int mm; int ss; public:
Timedate(){year=Y2000;month=Jan;date=1;hh=0;mm=0;ss=0;} Timedate(YR a,MT b,int c){ year=a; month=b; date=c;
hh=12;mm=30;ss=0; }
void getdate(YR &,MT &,int &);//Ìå»áÓÃÒýÓõÄÓŵã void gettime(int &,int &,int &); void putdate(YR ,MT ,int ); void puttime(int ,int ,int ); void list(); };
void Timedate::getdate(YR &y,MT &m,int &d){ y=year; m=month; d=date; }
void Timedate::gettime(int &a,int &b,int &c){ a=hh; b=mm; c=ss; }
void Timedate::putdate(YR a,MT b,int c){ year=a; month=b; date=c; }
void Timedate::puttime(int a,int b,int c){ hh=a; mm=b; ss=c; }
void Timedate::list(){//³ÉÔ±º¯Êý cout<<\ switch(year){
4
Ïà¹ØÍÆ¼ö£º