c++面试总结

本文主要总结了C++面试中的常见问题,包括函数重载的条件及其原理、类的封装性、C与C++中struct的差异、指针与引用的区别,以及对内联函数的理解。函数重载依赖于参数列表的不同,封装涉及属性和访问权限,C语言struct仅含数据,C++中struct可包含函数。引用本质上是常量指针,创建时必须初始化且不能为空。内联函数是一种提高效率的手段,但编译器并非一定会内联处理。
摘要由CSDN通过智能技术生成

问题总结持续更新中。。。

  • 本人在学习过程中总结了一些在c++面试中可能会问到的问题,有什么不足的地方可以在评论区打出^_ ^。

函数重载的条件

  • 函数重载:在C语言中,函数名必须是唯一的,程序中不允许出现同名的函数,在C++中是允许出现同名的函数,即在同一作用域内,具有相同函数名,不同参数列表的一组函数,称为函数重载。

函数重载实现的原理

  • 编译器为了实现函数重载,也是默认为我们做了一些幕后的工作,编译器用不同的参数类型来修饰不同的函数名,比如void func();编译器可能会将函数名修饰成func,当编译器碰到void func(int x),編译器可能将函数名修饰为func_ int, 当编译器碰到void func(int x,char C),编译器可能会将函数名修饰为_func_ int_ char我这里使用”可能”这个字眼是因为编译器如何修饰重载的函数名称并没有一个统一的标准,所以不同的编译器可能会产生不同的内部名。

函数重载实现的条件

  • 同一个作用域、参数的个数不同、参数类型不同、参数的顺序不同

描述类的封装性

  • 封装特性包含两个方面:
  • 一个是属性和变量合成一个整体;
  • 一个是给属性和函数增加访问权限。

谈谈c与C++中struct的不同点

  • c语言中struct只有数据
  • c++中的struct不止有数据还有函数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值