C++经典面试题100例及答案.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:19108035856(电话支持时间:9:00-19:00)。
C++经典⾯试题100例及答案 1. ⾯向对象的程序设计思想是什么? 答 :把数据结 和对数据结 进⾏操作的⽅法封装形成⼀个个的对象。 2. 什么是类? 答 :把⼀些具有共性的对象归类后形成⼀个集合,也就是所谓的类。 3. 对象都具有的两⽅⾯特征是什么?分别是什么含义? 答 :对象都具有的特征是 :静态特征和动态特征。 静态特征是指能描述对象的⼀些属性 (成员变量),动态特征是指对象表现出来的⾏为 (成员函数) 4. 在头⽂件中进⾏类的声明,在对应的实现⽂件中进⾏类的定义有什么意义? 答 :这样可以提⾼编译效率,因为分开的话只需要编译⼀次⽣成对应的.obj ⽂件后,再次应⽤该类的地⽅,这个类就不会被再次编译,从⽽ ⼤⼤的提⾼了编译效率。 5. 在类的内部定义成员函数的函数体,这种函数会具备那种属性? 答 :这种函数会 ⾃动为内联函数,这种函数在函数调⽤的地⽅在编译阶段都会进⾏代码替换。 6. 成员函数通过什么来区分不同对象的成员数据?为什么它能够区分? 答 :通过this指针指向对象的⾸地址来区分的。 7. C++编译器 ⾃动为类产⽣的四个缺省函数是什么? 答 :默认 造函数,拷贝 造函数,析 函数,赋值函数。 8. 拷贝 造函数在哪⼏种情况下会被调⽤? 答 : 1.当类的⼀个对象去初始化该类的另⼀个对象时; 2.如果函数的形参是类的对象,调⽤函数进⾏形参和实参结合时; 3.如果函数的返回值是类对象,函数调⽤完成返回时。 9. 造函数与普通函数相⽐在形式上有什么不同? ( 造函数的作⽤,它的声明形式来分析) 答 : 造函数是类的⼀种特殊成员函数,⼀般情况下,它是专门⽤来初始化对象成员变量的。 造函数的名字必须与类名相同,它不具有任何类型,不返回任何值。 10. 什么时候必须重写拷贝 造函数? 答 :当 造函数涉及到动态存储分配空间时,要⾃⼰写拷贝 造函数,并且要深拷贝。 11. 造函数的调⽤顺序是什么? 答 : 1.先调⽤基类 造函数 2.按声明顺序初始化数据成员 3.最后调⽤ ⾃⼰的 造函数。 12. 哪⼏种情况必须⽤到初始化成员列表? 答 : 1.类的成员是常量成员初始化 ; 2.类的成员是对象成员初始化,⽽该对象没有⽆参 造函数。 3.类的成员为引⽤时。 13. 什么是常对象? 答 :常对象是指在任何场合都不能对其成员的值进⾏修改的对象。 14. 静态函数存在的意义? 答 :静态私有成员在类外不能被访问,可通过类的静态成员函数来访问; 当类的 造函数是私有的时,不像普通类那样实例化 ⾃⼰,只能通过静态成员函数来调⽤ 造函数。 15. 在类外有什么办法可以访问类的⾮公有成员? 答 :友元,继承,公有成员函数。 16. 什么叫抽象类? 答 :不⽤来定义对象⽽只作为⼀种基本类型⽤作继承的类。 17. 运算符重载的意义? 答 :为了对⽤户 ⾃定义数据类型的数据的操作与内定义的数据类型的数据的操作形式⼀致。 18. 不允许重载的5个运算符是哪些? 答 :1. .* (成员指针访问运算符号) 2. ::域运算符 3. Sizeof 长度运算符号 4. ? :条件运算符号 5. . (成员访问符) 19. 运算符重载的三种⽅式? 答 :普通函数,友元函数,类成员函数。 20. 流运算符为什么不能通过类的成员函数重载?⼀般怎么解决? 答 :因为通过类的成员函数重载必须是运算符的第⼀个是 ⾃⼰,⽽对流运算的重载要求第⼀个参数是流对象。所以⼀般通过友元来解决。 2 1. 赋值运算符和拷贝 造函数的区别与联系? 答 : 相同点 :都是将⼀个对象copy到另⼀个中去。 不同点 :拷贝 造函数涉及到要新建⽴⼀个对象。 22. 在哪种情况下要调⽤该类的析 函数? 答 :对象⽣命周期结束时。 23. 对象间是怎样实现数据的共享的? 答 :通过类的静态成员变量来实现对象间的数据共享。静态成员变量占有 ⾃⼰独⽴的空间不为某个对象所私有。 24. 友元关系有什么特性? 答 :单向的,⾮传递的,不能继承的。 25. 对对象成员进⾏初始化的次序是什么? 答 :它的次序完全不受它们在初始化表中次序的影响,只有成员对象在类中声明的次序来决定的。 26. 类和对象之间的关系是什么? 答 :类是对象的抽象,对象是类的实例。 27. 对类的成员的访问属性有什么?

您可能关注的文档

文档评论(0)

有志者事竟成 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7114163151000053
认证主体李**

相关文档

相关课程推荐