写一个计算器说起:
按照计算机的思维,就是
int main()
{
cin two numbers, operator;
switch; case +.....;case -.....;case /....;case * .....;
}
显然此次代码只为该次任务有用,如果有其他需求比如乘方运算,需要改变代码,在switch中加入分枝;
实际上你写的这段是个刻板印刷的结构,没有实现活字印刷的结构。
活字印刷步骤: 起始我们没有任何字,首先 刻画一个个的字,理解为刻个图章,然后把一个个要求的字放在模子里,比如 山东大学电子系;如果我们现在要改名为山东大学信息学院,即需要你维护一下这个程序,你只需在模子中改要改之字,此为可维护性,如果是刻板印刷,显然需要重新刻板了;现在又要求改为山东大学信息科学与工程学院,只需刻字加入模子即可,此为可扩展性;现在我要求印刷竖排的,只需移动,此为灵活性;已经刻好的字山东,可以用在山东省里,此为可复用性;
没有利用c++的面向对象的封装;以上几个特性在计算器代码中没有体现;