码迷,mamicode.com
首页 > 编程语言 > 详细

C++面试题

时间:2016-06-26 16:44:10      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

1、引用和指针的区别

  1)引用被创建的时候需要初始化,指针可以等到任何时候再初始化

  2)引用不能指向NULL,指针可以指向NULL

  3) 引用被初始化后,不能再绑定到其它对象,而指针初始化后,可以改变他指向的对象

  对于第3条的理解:

          int m=90;

          int &n=m;

          int b=99;

          n=b;

          b=999;

          cout<<n<<endl;//结果是99而不是999,因为引用n第二次并没有绑定到b上

 2、面向对象的特征

  封装、继承、多态

  封装:增强安全性和简化编程,使用者不需要了解具体的实现细节,而只要通过外部借口和特定的访问权限来使用类的成员

  继承:可以使用现有类的所有功能,继承可以使一个对象直接使用另外一个对象的属性和方法

  多态:使得能够利用基类指针指向不同类的对象,根据所引用对象的不同,以不同方式执行相同的操作

 3、C++三种继承方式

  public继承:基类成员保持自己的访问权限,public在子类中仍是public,proctected在子类仍是protected,基类private成员在子类中不可见

  protect继承:基类成员中的public和protected成员都变成protected成员,基类private成员在子类中不可见

  private继承:基类成员中的public和protected成员都变成private,基类private成员在子类中不可见

 4、class和struct的区别

  class默认是private,struct默认是public

   5、多态

  多态简单描述:一个接口,多种实现

  主要作用:提高程序的可复用性,精简了代码的编写量

 6、重载,覆盖(重写),隐藏

   重载:相同的函数名,不同的参数类型(不同的参数类型,不同的参数个数,不同的参数顺序【参数类型必须不一样】),不能呢个通过访问权限,返回类型,抛出异常进行重载

   覆盖(重写):基类有virtual关键字,派生类和基类的函数名相同,参数类型相同,返回类型也要一样

     隐藏:a)如果派生类和基类的函数名和参数类型都相同,但是基类没有virtual关键字,此时基类的函数被隐藏 b)如果派生类的函数和基类的函数函数名相同,但是参数类型不同,此时不论    

    基类是否有virtual 关键字,基类的函数都被隐藏。========对于隐藏的另外理解就是,除了函数名相同,不满足覆盖的条件就是隐藏。

      

C++面试题

标签:

原文地址:http://www.cnblogs.com/wuxiangli/p/5617971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!