虚函数是为了 实现 不同接口对基类及其派生类的无区别调用。
为了 适应统一的借口,基类的指针可以识别作为派生类的指针类型。
调用的时候通过虚函数表选择一个函数,实现调用。
内联函数对宏的替代作用
c语言中 宏实现了一些简单的代码的通用。
比如
#define max(a,b) ((a>b)?(a),(b))
宏中 括号内的数作为参数
inline int max(int a, int b)
{
return (a>b)?(a),(b);
}
下面通过模板实现对不同数据类型的接口
template<typename T>
inline T &max(T &a,T &b)
{
return (a>b)?(a),(b);
}
为什么要用引用呢
这是因为有时候如果是一个类类型的数据成员,那么 传值即通过数据的复制将非常的耗费耗费时间,不如通过传递一个地址过去,那样的话就会非常的节约时间了。
但是这样就不支持对常量 的比较了 因为 常量而言 是不存在引用的