c++
ruby920202
这个作者很懒,什么都没留下…
展开
-
什么函数不能声明为虚函数?
在华为、中兴等企业招聘笔试面试中曾经出现过这样一道题目:什么函数不能声明为虚函数?该题答案为:普通函数(非成员函数)、静态成员函数、内联成员函数、构造函数、友元函数该题考查的是虚函数声明的相关概念。其解析如下:虚函数通过继承方式来体现出多态作用,它必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义转载 2016-08-16 09:39:48 · 852 阅读 · 0 评论 -
虚函数、虚指针和虚表
关于虚函数的背景知识 1.用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2.存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。 多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。 3.多态用虚函数来实现,结合动态绑定。 4.纯虚函数是虚函数再加上= 0。并且该函数只有转载 2016-08-16 14:09:54 · 371 阅读 · 0 评论 -
c++多态性详解
先区分两个概念: 重载: 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。(编译器会根据这些函数的不同列表,将同名的函数的名称做修饰,从而生成一些不同名称的预处理函数,来实现同名函数调用时的重载问题。但这并没有体现多态性。) 注意:返回值不同,不算重载 重写(覆盖):子类重新定义父类的做法称为覆盖(override),或者称为重写,重写函数必须原创 2016-08-16 11:51:48 · 439 阅读 · 0 评论