這篇文章主要介紹了C++設計模式之模板方法模式怎么實現(xiàn)的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C++設計模式之模板方法模式怎么實現(xiàn)文章都會有所收獲,下面我們一起來看看吧。

模板方法模式使用繼承來實現(xiàn)模式的功能,在基類使用一個方法來定義算法的各個步驟,這些步驟(方法)的具體實現(xiàn)會放到子類中,通過這樣來實現(xiàn)不同算法對象的算法拼合,完成該對象整體算法的實現(xiàn)。
作用
模板方法中定義了具體操作中所使用算法的各個步驟,并將其實現(xiàn)交由子類完成,從而實現(xiàn)多種不同的功能;
類視圖

實現(xiàn)
class Lunch
{
public:
Lunch(){}
virtual ~Lunch(){}
void feed()
{
cooking();
eating();
cleaning();
}
virtual void cooking()=0;
virtual void eating()
{
cout<<"I am eating,Please don't disturb me\n";
}
virtual void cleaning();
};
class MCMeal : public Lunch
{
public:
MCMeal(){}
virtual ~MCMeal(){}
void cooking()
{
cout<< "I am cooking Mc Meal\n";
}
void cleaning()
{
cout<< "I am cleaning Mc plates";
}
};
class KFCMeal : public Lunch
{
public:
KFCMeal() {}
virtual ~KFCMeal(){}
void cooking()
{
cout<< "I am cooking KFC Meal\n";
}
void eating
{
cout<< "KFC Meal is good\n";
}
void cleaning()
{
cout<< "I am cleaning KFC plates and cups\n";
}
};
int main()
{
Lunch* meal1 = new McMeal();
meal1.feed();
Lunch* meal2 = new KFCMeal();
meal2.feed();
}應用場景
當一個算法功能需要能夠改變,并通過在子類中對功能重寫來實現(xiàn)這種變化;
當算法能夠實現(xiàn)統(tǒng)一步驟,并且可以劃分不變部分和可變部分,將可變互粉在子類中實現(xiàn)算法不同的變化;
關于“C++設計模式之模板方法模式怎么實現(xiàn)”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C++設計模式之模板方法模式怎么實現(xiàn)”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:C++設計模式之模板方法模式怎么實現(xiàn)-創(chuàng)新互聯(lián)
轉載來于:http://www.chinadenli.net/article28/djcgjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、定制網(wǎng)站、網(wǎng)站維護、網(wǎng)頁設計公司、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容