摘要: 理解多态 多种多样的形态(静态多态,动态多态) 静态多态(编译时期) 1:函数重载 bool comparet(int ,int); bool compare(double,double); compare(100,100)->compare_int_int(); compare(1.0,2.0)- 阅读全文
posted @ 2022-11-28 15:15 Hello_Bugs 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 抽象类和普通类有什么区别? 抽象类一般不用作抽象实体类型 一般把上面类设计为抽象类? 基类 定义抽象类的唯一目的, 就是去建立派生类. 我们在抽象类基础上要定义出功能各异的派生类, 再用这些派生类去建立对象. 凡是包含纯虚函数的类都是抽象类. 纯虚函数不用实现, 故不能被调用, 抽象类无法建立对象. 阅读全文
posted @ 2022-11-28 14:06 Hello_Bugs 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 问题:是不是虚函数的调用就一定是动态绑定?不是的 1:在类的构造函数当中,调用虚函数,也是静态绑定(构造函数中对虚函数的调用不发生动态绑定) 2:如果不是通过指针或者引用变量来调用虚函数,那就是静态绑定 代码1 class Base { public: Base(int data=10):ma(da 阅读全文
posted @ 2022-11-28 11:13 Hello_Bugs 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 问题一:哪些函数不能实现成虚函数 虚函数依赖: 1:虚函数能产生地址,存储在vftable中 2:对象必须存储在 vfptr-> vftable-> 虚函数地址 **构造函数 ** 1:virtual + 构造函数 (NO,不可以在构造函数前加virtual 2:构造函数中 调用的任何函数,都是静态 阅读全文
posted @ 2022-11-28 08:48 Hello_Bugs 阅读(50) 评论(0) 推荐(0) 编辑