c++面试问题总结(一)

本文总结了C++面试中常见的问题,包括new、delete与malloc、free的区别,C++的三大特性,构造与析构函数的调用顺序,多态与虚函数的原理,引用的使用注意事项,常引用的作用,以及struct和union的区别等核心概念。
摘要由CSDN通过智能技术生成

1.new、delete、malloc、free的关系
malloc/free是C++/C语言的标准库函数,而new/delete是C++的运算符。
它们都可用于申请动态内存和释放内存。
但是,malloc/free是库函数,不能实现执行构造函数和析构函数,而运算符new/delete可以。

2.c++有哪些性质
封装、继承和多态。

3.对于派生类和基类的构造和析构函数的调用顺序
构造:先基类后派生类
析构:先派生类后基类

4.多态、虚函数、纯虚函数、抽象类、虚继承
c++在运行时的多态是通过虚函数实现的。
虚函数:在基类中冠以virtual关键字的函数,允许在派生类中对它重新定义。
纯虚函数:在基类中没有对虚函数给出有意义的实现,把它声明为纯虚函数,它的实现留给派生类去做。
抽象类:有纯虚函数的类。抽象类是不能实例化对象的。
虚继承:解决二义性的问题
!!每一个有虚函数的类都要有一个4字节的指针指向自己的虚函数表,对于虚拟继承,会增加一个偏移指针!!

5.求下面函数的返回值(微软)

int func(x) 
{ 
    int countx = 0; 

    while(x) { 
    cou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值