C++之——模板方法

#include <iostream>
using namespace std;
class Shape {//抽象类
public:
	void begin() { cout << "绘图开始" << endl; }
	void end() { cout << "绘图结束" << endl; }
	virtual void draw() = 0;//纯虚函数
	void paint() {//模板方法
		begin();
		draw();
		end();
	}
};

class Circle :public Shape {
public:
	void draw() {
		cout << "Draw a cirle" << endl;
	}
};

int main(int argc, char argv[]) {
	Shape *pObj = new Circle();
	pObj->paint();
	delete pObj;
	system("pause");
	return EXIT_SUCCESS;
}

C++之——模板方法