上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 虚函数表是实现C++中实现多态的基础,当然也是实现虚函数的基础。 每一个类都独立拥有一个虚函数表,类中所有虚函数都以数组形式存放在该类的虚函数表中。 虚函数表在类的编译阶段就建立了,然而虚函数表指针——作为类的隐藏成员——却在运行期间当函数被调用时才完成初始化的。 阅读全文
posted @ 2022-01-11 13:59 Kisen 阅读(141) 评论(0) 推荐(0)
摘要: C++中多态的两种作用 主要从函数和类两个方面分析: 从函数角度切入,多态使得代码可以实现模块化,隐藏了实现细节,实现了代码重用; 从类的角度切入,多态使得类在继承和派生时,保证家族中任意实例的属性被正确调用。 C++中多态的本质是为了方便代码重用。 阅读全文
posted @ 2022-01-11 13:43 Kisen 阅读(758) 评论(0) 推荐(0)
摘要: C++中两个加号具有不同含义 第一个加号代表C++与C相比,添加了OOP等特性,添加了类、虚函数等结构。第一个加号代表特性上的扩充。 第二个加号代表C++添加了许多语法糖、标准库等等扩充和改进,使得C++比C更加易用。因此与C相比,C++更适合复杂系统设计和实际业务场景。 阅读全文
posted @ 2022-01-11 13:19 Kisen 阅读(634) 评论(0) 推荐(0)
摘要: C++中,虚函数分为纯虚函数和虚函数。 纯虚函数的作用只有一个,就是定义抽象类。 虚函数则提供两种提示: 在继承中,子类将重写父类中的虚函数,也就是说,虚函数在继承设计下将担任多态的实现; 子类中的重写函数将动态绑定父类中的虚函数 本质上,c++中虚函数的产生是为了实现OOP继承。 阅读全文
posted @ 2022-01-11 13:11 Kisen 阅读(85) 评论(0) 推荐(0)
摘要: C++中动态与静态的个人理解 c++程序生成主要可以分为四个阶段: 预处理 编译 汇编 链接 动态与静态在第二步和第四步会出现分化,其余阶段皆不会涉及到动态静态的问题。 在编译阶段,可能会涉及到虚函数的动态绑定问题。若程序中存在虚函数,则虚函数的类型只能在程序运行时由对象的实际类型确定,即在编译阶段 阅读全文
posted @ 2022-01-11 13:08 Kisen 阅读(93) 评论(0) 推荐(0)
摘要: C++中值传递、指针传递、引用传递的关系和区别 引用与指针的区别 引用必须初始化且不能为空,引用不能被改变 指针可以为空,且可以被改变 阅读全文
posted @ 2022-01-11 12:30 Kisen 阅读(42) 评论(0) 推荐(0)
摘要: 何为编译器变量? 在C/Cpp中,由于历史原因,带有__(双下划线)前缀的变量是被看作预留给编译器使用的变量,即编译器变量。 标准答案 观察内置宏,即 #ifdef __cplusplus cout << "C++"; #else cout << "C"; #endif 阅读全文
posted @ 2022-01-11 10:21 Kisen 阅读(72) 评论(0) 推荐(0)
摘要: C++中结构体和类只有两个区别: 默认的继承方式不同:struct默认继承方式为public,class默认继承方式为private。 成员的默认访问权限不同:struct中成员的默认访问权限为public,class中成员的默认访问权限为private。 struct是C++编程中常用的模块化编程 阅读全文
posted @ 2022-01-11 10:11 Kisen 阅读(112) 评论(0) 推荐(0)
摘要: 静态全局变量的作用域 静态全局变量的作用是作为全局变量供该源文件中所有函数去使用,因此其作用域仅限该源文件。 阅读全文
posted @ 2022-01-11 10:04 Kisen 阅读(236) 评论(0) 推荐(0)
摘要: 题目 累加数 是一个字符串,组成它的数字可以形成累加序列。 一个有效的 累加序列 必须 至少 包含 3 个数。除了最开始的两个数以外,字符串中的其他数都等于它之前两个数相加的和。 给你一个只包含数字 '0'-'9' 的字符串,编写一个算法来判断给定输入是否是 累加数 。如果是,返回 true ;否则 阅读全文
posted @ 2022-01-10 22:44 Kisen 阅读(52) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页