摘要:
多态的本质分析 用C写面向对象,用C实现多态 继承的本质就是父子间成员变量的叠加C++中的多态是通过虚函数表实现的虚函数表是由编译器自动生成与维护的虚函数的调用效率低于普通成员函数 阅读全文
posted @ 2019-12-01 19:26
一代枭雄
阅读(233)
评论(0)
推荐(0)
摘要:
在C++编译器内部类可以理解为结构体子类是由父类成员叠加子类新成员得到的class Derived : public Demo{ int mk;} C++多态的实现原理-当类中声明虚函数时,编译器会在类中生成一个虚函数表-虚函数表是一个存储成员函数地址的数据结构-虚函数表是由编译器自动生成与维护的- 阅读全文
posted @ 2019-12-01 19:11
一代枭雄
阅读(197)
评论(0)
推荐(0)
摘要:
类中的成员函数位于代码段中调用成员函数时对象地址作为参数隐式传递成员函数通过对象地址访问成员变量C++语法规则隐藏了对象地址的传递过程 d.getI()d对象的地址被传到了getI这个函数的内部,但是传递过程在C++代码中是看不到的。深度挖掘的就是编译器背后的故事,此时就需要用到C语言了,用C语言实 阅读全文
posted @ 2019-12-01 12:14
一代枭雄
阅读(239)
评论(0)
推荐(0)
摘要:
C++对象模型,其实就是C++中的对象在内存中是如何排布的。C++中的对象包含了成员变量和成员函数,其实就是研究C++中的类对象它的成员变量和成员函数在内存中是如何排布的。 回归本质class 是一种特殊的struct(之所以特殊,是因为它们的默认访问级别不一样)-在内存中class依旧可以看作变量 阅读全文
posted @ 2019-12-01 11:25
一代枭雄
阅读(236)
评论(0)
推荐(0)
摘要:
函数重写回顾父类中被重写的函数依然会继承给子类子类中重写的函数将覆盖父类中的函数通过作用域分辨符(::)可以访问到父类中的函数Child c;Parent* p = &c; c.Parent::print(); //从父类中继承c.print(); //在子类中重写 p->print(); //父类 阅读全文
posted @ 2019-12-01 10:08
一代枭雄
阅读(243)
评论(0)
推荐(0)
浙公网安备 33010602011771号