µÚ2Õ»æÍ¼»ù´¡ ÏÂÔØ±¾ÎÄ

½Ì°¸Ê×Ò³

¿Î³ÌÃû³Æ ÊÚ¿ÎÈÕÆÚ

¼ÆËã»úͼÐÎѧ 2013Äê 3 Ô ÈÕ µÚ ÖÜµÚ ´Î¿Î

ÊڿνÌʦ Êڿΰ༶

2010¼¶1°à

ÖÜ ´Î ¿Î Ìâ

VC++ 6.0 »æÍ¼»ù´¡

½ÌѧĿµÄ¡¢ÒªÇó

1.ÕÆÎÕ MFC ÉÏ»ú²Ù×÷²½Öè 2.Á˽â CDC Àà½á¹¹ºÍ GDI ¶ÔÏó 3.ÊìÁ·ÕÆÎÕ»ù±¾»æÍ¼º¯Êý

¿Î³ÌÀàÐÍ ÖØ ÄÑ

µã µã

ÀíÂÛ »ù±¾»æÍ¼º¯Êý VC++»æÖÆÍ¼ÐÎ

ѧʱ 2

½Ìѧ·½·¨ ½ÌѧÊÖ¶Î

ÀíÂÛÓëʵ¼ùÏà½áºÏµÄÒýµ¼¡¢Æô·¢Ê½½Ìѧ·½·¨ ¶àýÌåÓëÆäËü·½Ê½½áºÏ

½Ìѧ½ø³Ì£¨ÄÚÈݰ²ÅÅ¡¢Ê±¼ä·ÖÅä¡¢×÷ÒµµÈ£© 1. ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ»ù´¡(10min) 2.

MFC ÉÏ»ú²Ù×÷²½Öè(10min)

3. »ù±¾»æÍ¼º¯Êý(75min) 4. С½á¡¢²¼ÖÃ×÷Òµ(5min)

1

½Ìѧ¹ý³Ì

2.1 ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ»ù´¡

VC++ÓïÑÔ¿ª·¢µÄͼÐΣ¬ÓëʹÓà Turbo C ÓïÑÔ¿ª·¢µÄͼÐÎÏà±È£¬Óŵ㣺 £¨1£©¿ÉÒÔÏÔÊ¾Õæ²ÊÉ«£¬

£¨2£©¿ÉÒÔʵÏÖ½»»¥Ê½»æÍ¼¡£Èçͼ 2-1 ºÍ 2-2 Ëùʾ£¬

ͼ 2-1 Turbo C »æÖƵÄл¶û±ö˹»ùº£Ãà

ͼ 2-2 Visual

£Ã++ MFC ¿ò¼Ü»æÖƵÄл¶û±ö˹»ùº£Ãà

2.1.1 ÀàºÍ¶ÔÏó

ÀàÊÇÓû§×Ô¼º¶¨ÒåµÄÒ»ÖÖÊý¾ÝÀàÐÍ£¬ÊÇ·â×°ÊôÐԺͲÙ×÷µÄ»ù±¾µ¥Ôª¡£ ÀàµÄÊôÐÔÓÃÊý¾Ý³ÉÔ±±íʾ£¬ÀàµÄ²Ù×÷ÓóÉÔ±º¯Êý±íʾ¡£ ¶ÔÏóÊÇÓá°ÀࡱÀàÐͶ¨ÒåµÄ¡°±äÁ¿¡±£¬³ÆÎªÀàµÄʵÀý¡£ 1. ÀàµÄ¶¨Òå ¡¾¸ñʽ¡¿ class ÀàÃû {

public£º

Êý¾Ý³ÉÔ±ºÍ³ÉÔ±º¯ÊýµÄÉùÃ÷£» private£º

Êý¾Ý³ÉÔ±ºÍ³ÉÔ±º¯ÊýµÄÉùÃ÷£» protected£º

Êý¾Ý³ÉÔ±ºÍ³ÉÔ±º¯ÊýµÄÉùÃ÷£» }£»

ÀàµÄÌØµã£º

·â×°ÐÔºÍÒþ±ÎÌØÐÔ¡£ 2. Àà³ÉÔ±º¯ÊýµÄ¶¨Òå ¡¾¸ñʽ¡¿

ÀàÐÍ˵Ã÷·û ÀàÃû£º£º³ÉÔ±º¯ÊýÃû£¨<²ÎÊý±íÁÐ>£© {

2

º¯ÊýÌ壻

}

£º£ºÎª×÷ÓÃÓòÔËËã·û£¬Ö¸Ã÷¸Ã³ÉÔ±º¯ÊýÊÇÊôÓÚÄÄÒ»¸öÀàµÄ¡£ 3. ¶ÔÏóµÄ¶¨Òå ¡¾¸ñʽ¡¿

ÀàÃû ¶ÔÏó±íÁУ¨<²ÎÊý±íÁÐ>£©£»

Ò»¸öÀà±»¶¨Òåºó£¬²¢²»Õ¼ÓÃÄÚ´æ¿Õ¼ä£¬Ö»Óе±À౻ʵÀý»¯Îª¶ÔÏóºó£¬¶ÔÏó²ÅÕ¼ÓÃÄÚ´æ¿Õ ¼ä¡£

ÀàÊÇÓÀºãµÄ£¬¶ÔÏóÊÇÔÝʱµÄ£¬ÀàºÍ¶ÔÏóµÄ¹ØÏµ¾ÍÏóÈËÀàºÍÿ¸öÈ˵ĹØÏµÒ»Ñù£¬ÈËÀàÓÀÔ¶ ´æÔÚ£¬¶øÃ¿¸öÈ˶¼Óе®ÉúºÍËÀÍö¡£

2.1.2 ¹¹Ô캯ÊýºÍÎö¹¹º¯Êý

¹¹Ô캯ÊýºÍÎö¹¹º¯ÊýÊǸºÔð¶ÔÏóµÄ´´½¨ºÍ³·ÏúµÄÌØÊâ³ÉÔ±º¯Êý¡£¹¹Ô캯ÊýµÄ×÷ÓÃÊÇ´´½¨ ¶ÔÏóʱ¶ÔÊý¾Ý³ÉÔ±½øÐгõʼ»¯£¬Îö¹¹º¯ÊýµÄ×÷ÓÃÊdz·Ïú¶ÔÏóʱÇåÀí¶ÔÏóÕ¼ÓõÄÄÚ´æ¿Õ¼ä¡£ ¹¹Ô캯ÊýµÄÃû³ÆÓëÀàÃûÏàͬ£¬¶øÎö¹¹º¯ÊýµÄÃû³ÆÊÇÓɹ¹Ô캯ÊýÃû³ÆÇ°¼ÓÉÏÈ¡·´ÔËËã·û ¡°¡«¡±¹¹³É¡£

¹¹Ô캯ÊýºÍÎö¹¹º¯ÊýÊÇÌØÊâµÄ³ÉÔ±º¯Êý£¬¶þÕß¶¼Ã»ÓÐÊý¾ÝÀàÐͺͷµ»ØÖµÇÒ²»ÐèÒªÓû§µ÷

Óã¬ÔÚ´´½¨ºÍ³·Ïú¶ÔÏóʱÓÉϵͳ×Ô¶¯Ö´ÐС£ Àý 1 Éè¼ÆÒ»¸ö³¤·½ÐÎ Rect À࣬µ÷ÓÃÀàµÄ³ÉÔ±º¯Êý¼ÆË㳤·½ÐεÄÖܳ¤ºÍÃæ»ý¡£

#include\ class Rect//¶¨Ò峤·½ÐÎÀà{ public:

Rect(int,int);//ÉùÃ÷´ø²Î¹¹Ô캯Êý ~Rect();//ÉùÃ÷Îö¹¹º¯Êý double circum();//ÉùÃ÷Öܳ¤º¯Êý double area();//ÉùÃ÷Ãæ»ýº¯Êý private:

int length,width;//ÉùÃ÷³¤·½Ðεij¤¶ÈºÍ¿í¶È };

Rect::Rect(int len,int w) {//¶¨Òå´ø²Î¹¹Ô캯Êý

length=len; width=w;

cout<<\½¨Á¢¶ÔÏó\ }

Rect::~Rect(){//¶¨ÒåÎö¹¹º¯Êý

cout<<\³·Ïú¶ÔÏó\ }

3

double Rect::circum(){//¶¨ÒåÖܳ¤º¯Êý

return 2*(length+width); }

double Rect::area(){//¶¨ÒåÃæ»ýº¯Êý

return length*width; }

void main(){//Ö÷º¯Êý

Rect r(30,20),*p=&r;//¶¨Òå¶ÔÏóºÍ¶ÔÏóÖ¸Õë //ÓöÔÏóÊä³öÖܳ¤ºÍÃæ»ý

cout<<\Öܳ¤Îª£º\Êä³öÖܳ¤ cout<<\Ãæ»ýΪ£º\Êä³öÃæ»ý //ÓöÔÏóÖ¸ÕëÊä³öÖܳ¤ºÍÃæ»ý

cout<<\Öܳ¤Îª£º\Êä³öÖܳ¤ cout<<\Ãæ»ýΪ£º\Êä³öÃæ»ý }

ͼ 2-3 ³¤·½ÐεÄÊä³ö½á¹û

2.1.3 ¶ÔÏóµÄ¶¯Ì¬½¨Á¢ºÍÊÍ·Å

½¨Á¢¶ÔÏó£ºnew ³·Ïú¶ÔÏó£ºdelete ÀýÈ磺

½¨Á¢¶ÔÏó£ºRect *p£½new Rect(30,20);

Óà new ¶¯Ì¬·ÖÅäÖ¸¶¨´óСµÄ´æ´¢¿Õ¼äºó£¬·µ»ØÒ»¸öÖ¸Ïò¸Ã¶ÔÏóµÄÖ¸Õ룬¼´Ëù·ÖÅäµÄ´æ ´¢¿Õ¼äµÄÆðʼµØÖ·£¬¿ÉÒÔͨ¹ýÖ¸Õë p À´·ÃÎʸöÔÏó¡£ ÊͷŶÔÏó£ºdelete p;

Àý 2 ½¨Á¢Ò»¸öͼ 2-5 ËùʾµÄͰÀ࣬ÆäÖÐÊý¾Ý³ÉÔ± Scanline ΪɨÃèÏßµÄλÖã¬next Ϊָ ÏòÏÂÒ»½áµãµÄÖ¸Õë¡£Ç붯̬½¨Á¢Á½¸öͰ½áµã£¬²¢ÒÀ´ÎÊä³öÆäɨÃèÏßλÖᣠ#include\ class Bucket{//¶¨ÒåͰÀà

ScanLine public:

int ScanLine;//ÉùÃ÷ɨÃèÏßλÖÃ

Bucket *next;//ÉùÃ÷Ö¸ÏòÏÂһͰ½áµãµÄÖ¸Õë };*next void main(){

Bucket *Head=new Bucket,*CurrentB;//¶¨ÒåͰ½áµãµÄÍ·Ö¸Õë ºÍͰ½áµãµÄµ±Ç°Ö¸Õë

CurrentB=Head;//µ±Ç°Ö¸ÕëΪͰ½áµãµÄÍ·Ö¸Õ룬¿ªÊ¼¸øµÚÒ»¸ö ½áµã¸³Öµ

CurrentB->ScanLine=1;//µ±Ç°½áµã(µÚÒ»¸ö½áµã)µÄɨÃèÏßΪ 1 cout<<\µÚÒ»¸ö½áµãµÄɨÃèÏßλÖÃÊÇ£º\Êä³öµ±Ç°½áµãµÄɨÃèÏßÖÃ

ͼ 2-5 Ͱ½áµãÀà

4