大连某某软件公司近日C面试题归纳.docVIP

大连某某软件公司近日C面试题归纳.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连某某软件公司近日 C 面试题归纳 下面的程序是否有错误,如果有错,请说明原因。 char*const pszHelp=hello ; pszHelp[0]=a ; 因为 pszHelp 指向一个常量字符串,所以根本不允许修改字符串内容。除 非使用一个字符数组。 const 用法: constchar*p p 是一字符串指针,该指针指向的内容是常量,指针指向 的内容不能被修改 char const*p 同上 char*const p p 是一字符串指针,该指针是常量指针,指针不能被修改 什么是抽象类 包含抽象函数的类是抽象类,满足 virtual fun()=0 ;的语法的函数是抽 象函数。主要用于提供接口,如同 Java 中的 Interface 。 什么时候需要使用虚拟析构函数 一般情况下类的析构函数都定义成虚函数,主要是考虑在使用基类指针操 作派生类对象时保证类的析构顺序。 请指出下面代码存在的潜在问题 class CC{ int*m_pCount ; public : void clear(){if(m_pCount)delete m_pCount ; } CC(){m_pCount=new int ; } ~CC(){clear() ; } } 主要存在的问题是 clear 函数在 delete m_pCount ;后并没有置指针为空 (m_pCount=NULL 这样当第二次调用 clear 时,会出现问题。 如何定义禁止实例化的纯抽象基类 这个问题很奇怪,抽象类本身就不能被实例化,在程序编译时就会提示出 错。 在进行私有继承时,如何修改基类成员的存取权限 定义一个指向该基类的友元函数,就可以绕过私有继承操作基类成员。 如何定义一个指向类的成员函数的指针 void(CC: *bfpClear)()=CC : clear ; 类 A 派生类 B 和 C,类 D 从类 B、 C 派生,如何将一个类 个类 D的指针 直接使用即可,主要是考察运行时多态的概念。此题和题 请说出程序运行的结果 class A{ public : virtual void func(){coutI am in baseendl ; }; A 的指针指向一 4 要一起考虑。 } class B : public A{ public : virtual void func(){coutI am in derivedendl ; } } void main() { B*bb=new B; bb-func() ; A*aa=(A*)bb; aa-func() ; …. } I am in derived Iam in derived 主要考察虚函数的使用 分析下面代码,指出问题 int*func(){int i=0 ; returni ; } 返回的是一个局部简单类型变量地址,程序可能会出错,而且返回的指针 不能采用 delete 进行删除。 class CObject ; CObject*funobj(){CObject obj ;….returnobj ; } 返回的是一个局部 CObject 类型变量地址,程序会出错,而且返回的指针 不能采用 delete 进行删除。 CString funobj(){CString strTemp=_T(temp) ; return strTemp ; } 不会出错,返回的 CString 会调用 CString 的拷贝构造函数返回。 Debug版本中经常使用 ASSERT进行断言,在 Release 版本中有一个起同 样作用的函数,请说明。 VERIFY, 而且要注意 ASSERT中的语句在 Release 版本中会忽略。 标准建模语言 UML的重要内容可以由哪五类图 (共 9 种图形 )来定义,并简 要说明这些图所描述的对象。 什么是虚拟函数、虚拟继承 ? 你在使用面向对象程序设计语言 (例如 C++, Java 等)和可重用的对象类库 上有何经验 ?实际效果如何 ?有什么优缺点 ? 引用和指针之间有什么区别 ? 什么是函数重载 ? C++与其它传统编程语言相比有何特点 ? 简要说明如何绘制 UML活动图。 为什么有些类成员函数在类声明中定义而有一些那么不是呢 ? 对象分析和设计的阶段有哪些 ? 为什么要费力地生成抽象数据类型――为什么不把它设为非抽象的数据类 型和防止创立这种类型的对象呢 ?

文档评论(0)

小光老师 + 关注
官方认证
文档贡献者

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

认证主体赛罕区发光网络技术服务部
IP属地内蒙古
统一社会信用代码/组织机构代码
92150105MAC8HM2M1T

1亿VIP精品文档

相关文档