三金兄的自留地儿

导航

2011年2月15日 #

虚函数(二)

摘要: [代码]输出答案为:81216因为vptr得字节数为4,而派生类的内存变大了是因为派生类增加了新的变量,下图为仔细的解释 阅读全文

posted @ 2011-02-15 17:48 三金兄的自留地儿 阅读(134) 评论(0) 推荐(0) 编辑

虚函数(一)

摘要: 总结:1.虚函数实现了多态性,多态其实就是把接口和实现进行分离。2.含有虚函数的类中,编译器会在其对象的内存中放入vptr这样一个指针,这个指针指向一张虚函数表vtable。可以把它想象成一个数组,然后向这个数组依据虚函数在类中的声明次序依次填入函数指针,函数指针指向要调用的函数。3当我们在派生类中改写虚函数时,vtable就改变了,表中的函数指针不再指向基类的函数,而是派生类的函数。 阅读全文

posted @ 2011-02-15 15:17 三金兄的自留地儿 阅读(219) 评论(0) 推荐(0) 编辑