C++中虚函数和内联函数的区别

虚拟函数是一个在基类中声明的成员函数,由派生类重新定义。内联函数。内联函数是一个由关键字inline定义的普通函数,它是一个被编译器扩展的短函数,其参数只被评估一次。
在C++中定义内联函数的语法是 –

inline return-type function-name(parameters)
{
    // function code
}

虚函数和内联函数的区别如下 –

虚函数 内联函数
1 虚拟函数必须在类的公共部分声明。 内联函数是一个正常的函数,由关键字inline定义。
2 虚拟函数不能是静态的。 内联函数也可以是非静态的。
3 虚拟函数在基类中定义。 内联函数是长度较短的函数,无需在类中使用内联关键字即可自动成为内联函数。
4 虚拟函数会降低代码的效率。 内联函数用于提高代码的效率。
5 虚拟函数是为了运行时的多态性。 内联函数是为了在编译时进行多态性。
6 虚拟函数可以包括虚拟析构器,但不能有虚拟构造器。 内联函数也可以包括内联构造函数。
7 虚拟可以用于动态链接。 内联函数被用来减少函数调用的开销。