当对象的类型不影响类中函数的行为时,使用模板。如:常见的堆、栈、队列;
对象的类型不影响类中函数的行为:堆、栈这些无论对象是什么,都少补了入栈,出栈等操作。并不改变函数的行为。
当对象的类型影响类中函数的行为时,就要使用继承。如:猫、人等;
对象的类型影响类中函数的行为:对于猫、人这些类来讲,每只猫品种不同,都有自己特定的行为习惯,总会跟其他种类的有所不同,
这也就导致模板不能满足每一种情况,所以,使用继承。用虚函数来实现每种猫在拥有猫的共性的同时,又具有自己的特性。
当对象的类型不影响类中函数的行为时,使用模板。如:常见的堆、栈、队列;
对象的类型不影响类中函数的行为:堆、栈这些无论对象是什么,都少补了入栈,出栈等操作。并不改变函数的行为。
当对象的类型影响类中函数的行为时,就要使用继承。如:猫、人等;
对象的类型影响类中函数的行为:对于猫、人这些类来讲,每只猫品种不同,都有自己特定的行为习惯,总会跟其他种类的有所不同,
这也就导致模板不能满足每一种情况,所以,使用继承。用虚函数来实现每种猫在拥有猫的共性的同时,又具有自己的特性。