摘要: C++中多态的实现原理 当类中声明虚函数时,编译器会在类中生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表是由编译器自动生成与维护的 virtual成员函数会被编译器放入虚函数表中 存在虚函数时,每个对象中都有一个指向虚函数表的指针(vptr指针) C++内存模型中,会将对象中 阅读全文
posted @ 2017-11-13 17:38 niudong 阅读(175) 评论(0) 推荐(0) 编辑
摘要: C++中允许多继承,因此会出现同时继承多个父类变量的情况,也就是说,正常的继承是一棵树,而多继承的二义性使得继承成为了一个图。在C++中通过virtual关键字,来防止这种情况的发生。问题的本质在于,对于父类中的变量,有多种不同的形式来进行访问父类中的变量,解决问题的办法是在出现问题的类上,加一个v 阅读全文
posted @ 2017-11-13 13:12 niudong 阅读(926) 评论(0) 推荐(0) 编辑