<sub id="xvpxd"></sub>
<delect id="xvpxd"></delect>

    <menuitem id="xvpxd"><delect id="xvpxd"></delect></menuitem><em id="xvpxd"><thead id="xvpxd"></thead></em>

      <big id="xvpxd"><noframes id="xvpxd"><sub id="xvpxd"></sub>
      <font id="xvpxd"></font>
        <mark id="xvpxd"></mark>
        <delect id="xvpxd"><form id="xvpxd"></form></delect>

          <output id="xvpxd"><noframes id="xvpxd"><mark id="xvpxd"></mark>

            本站開發的軟件簡介及下載地址
            您現在的位置:首頁 >> 電腦知識 >> 軟件編程 >> 內容

            C語言和設計模式

            時間:2012/1/11 19:43:11 點擊:

             C語言命令模式的目的主要是為了把命令者和執行者分開。老規矩,舉個范例吧。假設李老板是一家公司的頭兒,他現在讓他的秘書王小姐去送一封信。王小姐當然不會自己親自把信送到目的地,她會把信交給郵局來完成整個投遞的全過程,F在,我們就對投遞者、命令、發令者分別作出定義。

              首先定義post的相關數據。

              view plain typedef struct _Post { void (*do)(struct _Post* pPost);}Post;Post完成了實際的投遞工作,那么命令呢?

              view plain typedef struct _Command { void* pData;void (*exe)(struct _Command* pCommand);

              }Command;

              void post_exe(struct _Command* pCommand)

              { assert(NULL != pCommand);

             。≒ost*)(pCommand->pData)->do((Post*)(pCommand->pData));return;}我們看到了Post、Command的操作,那么剩下的就是boss的定義了。

              view plain typedef struct _Boss { Command* pCommand;void (*call)(struct _Boss* pBoss);}Boss;

              void boss_call(struct _Boss* pBoss)

              { assert(NULL != pBoss);

              pBoss->pCommand->exe(pBoss->pCommand);return;}

             

             
            分享到:
          1. 算命,擇日,風水(www.parabellum-studio.com) © 2023 版權所有 All Rights Reserved.
          2. 站長電話:13559403980;站長QQ:305671986;點擊這里給我發消息站長Email:chwc228@163.com 或 chwc88@qq.com; 閩ICP備05011419號


          3. 百度热搜榜
            <sub id="xvpxd"></sub>
            <delect id="xvpxd"></delect>

              <menuitem id="xvpxd"><delect id="xvpxd"></delect></menuitem><em id="xvpxd"><thead id="xvpxd"></thead></em>

                <big id="xvpxd"><noframes id="xvpxd"><sub id="xvpxd"></sub>
                <font id="xvpxd"></font>
                  <mark id="xvpxd"></mark>
                  <delect id="xvpxd"><form id="xvpxd"></form></delect>

                    <output id="xvpxd"><noframes id="xvpxd"><mark id="xvpxd"></mark>