首页 > 代码库 > 设计模式(7)--模板模式
设计模式(7)--模板模式
//7.模板模式 //ver1 //考试试卷类 class TestPaper { public: void TestQuestion1(){} void TestQuestion2(){} virtual string Answer1() { return ""; } virtual string Answer2() { return ""; } }; class TestPaperA : public TestPaper { public: void TestQuestion1() { TestPaper::TestQuestion1(); //A回答1 Answer1(); } void TestQuestion2() { TestPaper::TestQuestion2(); //A回答2 Answer2(); } string Answer1() { return "A"; } string Answer2() { return "B"; } }; class TestPaperB : public TestPaper { public: void TestQuestion1() { TestPaper::TestQuestion1(); //B回答1 Answer1(); } void TestQuestion2() { TestPaper::TestQuestion2(); //B回答2 Answer2(); } string Answer1() { return "C"; } string Answer2() { return "D"; } }; void main1() { TestPaper * pstuA = new TestPaperA(); pstuA->TestQuestion1(); pstuA->TestQuestion2(); TestPaper * pstuB = new TestPaperB(); pstuB->TestQuestion1(); pstuB->TestQuestion2(); } //模板模式: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 //模板模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 //模板模式通过把不变行为搬到超类,去除子类中的重复代码来体现它的优势。
设计模式(7)--模板模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。