C++笔试面试(概念题集)

1>比较一下C++中static_cast和dynamic_cast的区别。

解答:dynamic_cast考虑到继承关系的限制,static_cast则进行强制类型转换。

 

2>struct 和class的区别。

解答:struct中的成员变量和成员函数默认访问权限是public,而class则为private。

 

3>当一个类A中没有生命任何成员变量和成员函数,那么这时的sizeof(A)的值,是否为零。为什么。

解答:肯定不为零,如果占用的内存为零,那么建立一个Class A[n]的数组,数组之间的对象就无法区别。

 

4>在8086汇编下,逻辑地址和物理地址是如何装换的?

解答:通用寄存器给出的地址,是段内偏移地址,相应段寄存器地址*10H+通用寄存器内存地址就得到想要的物理地址。

 

5>C++的多态实现方式。

解答:一是函数重载,运算符重载。二就是虚函数的应用。

 

6>const 与#define相比优点。

解答:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对#define只进行简单的替换。有些集成工具可以对const常量进行调试,但会对宏常量进行调试。

 

7>类成员函数的重载、覆盖和隐藏的区别。

解答:

成员函数被重载的特征:相同的函数名、相同的范围(在同一个类内)、参数不同(参数的个数或者类型)、virtual关键字可有可无

覆盖指派生类函数覆盖基类函数,特征:不同范围(基类和派生类)、函数名字相同、参数相同、基类必须有virtual关键字

隐藏是指派生类的函数屏蔽了基类同名函数,特征:如果派生类的函数与基类同名,但是参数不同,基类不论是否有virtual关键字,基类的同名函数都被隐藏。如果函数同名,参数也相同,基类没有virtual关键字,也隐藏基类的函数。

 

8>mian主函数执行完毕后,是否还有可能再执行一段代码?

解答:可以再执行一段代码。用_onexit注册一个函数即可执行。

 

9>不能做switch的参数类型?

解答:实型。

 

10>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值