1 / 59
文档名称:

程序员面试300题.doc

格式:doc   大小:151KB   页数:59页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

程序员面试300题.doc

上传人:rsqcpza 2020/6/7 文件大小:151 KB

下载得到文件列表

程序员面试300题.doc

相关文档

文档介绍

文档介绍:1. 面向对象的程序设计思想是什么?答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。2. 什么是类?答:把一些具有共性的对象归类后形成一个集合,也就是所谓的类。3. 对象都具有的二方面特征是什么?分别是什么含义?答:对象都具有的特征是:静态特征和动态特征。静态特征是指能描述对象的一些属性,动态特征是指对象表现出来的行为4. 在头文件中进行类的声明,在对应的实现文件中进行类的定义有什么意义?答:这样可以提高编译效率,,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。5. 在类的内部定义成员函数的函数体,这种函数会具备那种属性?答:这种函数会自动为内联函数,这种函数在函数调用的地方在编译阶段都会进行代码替换。6. 成员函数通过什么来区分不同对象的成员数据?为什么它能够区分?答:通过this指针来区分的,因为它指向的是对象的首地址。7. C++编译器自动为类产生的四个缺省函数是什么?答:默认构造函数,拷贝构造函数,析构函数,赋值函数。8. 拷贝构造函数在哪几种情况下会被调用?答:;,调用函数进行形参和实参结合时;,函数调用完成返回时。9. 构造函数与普通函数相比在形式上有什么不同?(构造函数的作用,它的声明形式来分析)答:构造函数是类的一种特殊成员函数,一般情况下,它是专门用来初始化对象成员变量的。构造函数的名字必须与类名相同,它不具有任何类型,不返回任何值。10. 什么时候必须重写拷贝构造函数?答:当构造函数涉及到动态存储分配空间时,要自己写拷贝构造函数,并且要深拷贝。11. 构造函数的调用顺序是什么?答:。12. 哪几种情况必须用到初始化成员列表?答:类的成员是常量成员初始化;类的成员是对象成员初始化,而该对象没有无参构造函数。类的成员为引用时。13. 什么是常对象?答:常对象是指在任何场合都不能对其成员的值进行修改的对象。14. 静态函数存在的意义?答:静态私有成员在类外不能被访问,可通过类的静态成员函数来访问;当类的构造函数是私有的时,不像普通类那样实例化自己,只能通过静态成员函数来调用构造函数。15. 在类外有什么办法可以访问类的非公有成员?答:友元,继承,公有成员函数。16. 什么叫抽象类?答:不用来定义对象而只作为一种基本类型用作继承的类。17. 运算符重载的意义?答:为了对用户自定义数据类型的数据的操作与内定义的数据类型的数据的操作形式一致。18. 不允许重载的5个运算符是哪些?答:1. .*(成员指针访问运算符号)2. ::域运算符3. Sizeof长度运算符号4. ?:条件运算符号5..(成员访问符)19. 运算符重载的三种方式?答:普通函数,友元函数,类成员函数。20. 流运算符为什么不能通过类的成员函数重载?一般怎么解决?答:因为通过类的成员函数重载必须是运算符的第一个是自己,而对流运算的重载要求第一个参数是流对象。一般通过友元来解决。21. 赋值运算符和拷贝构造函数的区别与联系?答:相同点:都是将一个对象copy到另一个中去。不同点:拷贝构造函数涉及到要新建立一个对象。22. 在哪种情况下要调用该类的析构函数?答:对象生命周期结束时。23. 对象间是怎样实现数据的共享的?答:通过类的静态成员变量来实现的。静态成员变量占有自己独立的空间不为某个对象所私有。24. 友元关系有什么特性?答:单向的,非传递的,不能继承的。25. 对对象成员进行初始化的次序是什么?答:它的次序完全不受它们在初始化表中次序的影响,只有成员对象在类中声明的次序来决定的。26. 类和对象之间的关系是什么?答:类是对象的抽象,对象是类的实例。27. 对类的成员的访问属性有什么?答:public,protected,private。constchar*p,char*constp;的区别如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。29. 是不是一个父类写了一个virtual函数,如果子类覆盖它的函数不加virtual,也能实现多态?virtual修饰符会被隐形继承的。virtual可加可不加,子类覆盖它的函数不加virtual,也能实现多态。30. 函数重载是什么意思?它与虚函数的概念有什么区别?函数重载是一个同名函数完成不同的功能,编译系统在编译阶段通过函数参数个数、参数类型不同,函数的返回值来区分该调用哪一个函数,即实现的是静态的多态性。但是记住:不能仅仅通过函数返回值