摘要: C++的多态性是通过动态绑定实现的 非虚函数是在 编译时绑定 的; 通过对象进行的函数(虚函数,非虚函数)也是 编译时绑定 的; C++编译器在编译的时候,要确定每个对象调用的函数(要求此函数是非虚函数)的地址,这称为早期绑定(early binding) 当且仅当通过指针或引用调用虚... 阅读全文
posted @ 2015-11-19 22:04 clq.lib 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 最近在看C++动态绑定问题时(理解静态绑定时)发现的问题:能用空指针调用类的成员函数(gcc,vs2013下都可以)。 例子: C++类的内存布局 类的成员函数与成员对象内存中不放一起。 对于类成员函数而言,此类的所有对象共用这个成员函数体,并不是一个对象对应一个单独的成员函数体。 在... 阅读全文
posted @ 2015-11-19 21:38 clq.lib 阅读(731) 评论(0) 推荐(0) 编辑