C++面试的几个小题目

1.指针和引用的区别?

    1)引用必须初始化,指针不需要;

     2)有空指针,没有空引用;

     3)引用初始化之后就不能改变,而指针式可以随时指向任意的地址的。

 

2.将引用作为函数的返回值的格式,好处和需要遵循的原则?

   格式:类型标识符 &函数名(形参列表及类型说明){函数体}

   好处:不产生返回值的副本

   需要注意的是:

               1)不能返回局部变量的引用;

               2)不能返回函数内部的new分配的内存的引用;

               3)可以返回类成员的引用,但是最好是const;

               4)+-*/四则运算不能返回引用。

 

3.什么时候需要使用引用?

       流操作符<<和>>、赋值操作符=的返回值,拷贝构造函数的参数,赋值操作符=的参数、其它情况都推荐使用引用。

 

4.指针和数组的区别?

      1)修改内容上的差别

char a[] = hello;
  a[0] = X;
  char *p = world; // 注意p 指向常量字符串
  p[0] = X; // 编译器不能发现该错误,运行时错误

      2)Sizeof可以得到数组的容量,但是sizeofp)不能得到p所指内存的容量,他表示的只是p指针变量的字节数。

      3)数组在作为函数的参数的时候自动的退化为同类型的指针。

 

5.面向对象的三个基本特征?

      面向对象的三个基本特征:封装,继承,多态

            1)封装:将客观的事物抽象成类,每一个类对自身的数据和方法实行保护

            2)继承:广义的继承有三种方式:

                          实现继承:使用基类的属性和方法而无需额外的编码的能力

                          可视继承:子窗体使用父窗体的外观和实现代码

                          接口继承:仅使用属性和方法,实现滞后到子类实现

           3)多态:一句话就是:允许将子类类型的指针赋值给父类类型的指针。

      

这是我今天面试的几个题目,写下来让大家参考下,希望对大家有所帮助。

 

      

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值