自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 C++面试题汇总(下)

如图所示可知菱形继承就是一个派生类同时继承自两个基类,而这两个基类又共同继承自同一个基类。菱形继承会导致数据冗余和二义性数据冗余派生类 D 会间接包含两份基类 A 的成员(一份来自 B,一份来自 C),造成内存浪费。访问二义性当访问基类 A 的成员时,编译器无法确定应该访问从 B 继承的版本还是从 C 继承的版本,导致编译错误。而解决方法就是采用虚继承,C++ 引入虚继承机制,使得派生类在继承间接基类时,只保留一份间接基类的成员,从而解决菱形继承的问题。

2025-09-23 20:23:20 1004

原创 C++面试题汇总(上)

在 C++中,名称(name)可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大,名称互相冲突的可能性越大。另外使用多个厂商的类库时,也可能导致名称冲突。为了避免在大规模程序的设计中和在程序员使用各种各样的 C++库时,这些标识符的命名冲突,标准C++引入关键字 namespace(命名空间/名字空间/名称空间),可以更好地控制标识符的作用域。避免在项目中名称冲突。引用是 c++对 c 的重要扩充。在 c/c++中指针的作用基本都是一样的,但是 c++增加了另外一种给函数传递地址的途径。

2025-08-21 20:17:38 623

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除