1.谈谈虚函数的作用
虚函数的作用,就是让父类指针可以操作子类空间中子类重写父类的虚函数
2.虚函数的注意事项
子类重写父类的虚函数注意:有继承、子类重写父类虚函数(函数名、返回值类型、参数类型个数顺序必须完全一致)。
3.虚函数实现的原理
当父类中有虚函数,该虚函数会生成虚函数指针(vfptr) 指向虚函数表(vftable),如果没涉及到继承,那么该虚函数表纪录的是父类的虚函数地址。
一旦该类涉及到继承,子类就会继承父类的虚函数指针和虚函数表,子类如果重写父类的虚函数,就会将子类重写的虚函数入口地址更新在虚函数表中。
这时父类指针操作虚函数,通过虚函数指针定位虚函数表,而表中纪录的是子类重写的虚函数地址,所以父类指针间接调用的是子类重写的虚函数。
4.谈谈对纯虚函数的理解
虚函数不实现函数体,就是纯虚函数,如果一个类有纯虚函数,那么这个类就是抽象类。
抽象类不能实例化对象,抽象类只能派生子类,而且在子类中必须重写所有的纯虚函数。
更多关于物联网培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。