分享

常见笔试/面试题目(二)

 软件团队头目 2006-10-28
常见笔试/面试题目(二)
□daibaobao 发表于 2005-12-9 15:52:00

继续接上一篇......

3.3 C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”

答:C++语言支持函数重载,C 语言不支持函数重载。函数被C++编译后在库中的名字与C 语言的不同。假设某个函数的原型为: void foo(int x, int y);

该函数被C 编译器编译后在库中的名字为_foo C++ 编译器则会产生像_foo_int_int 之类的名字。

C++提供了C 连接交换指定符号extern“C”来解决名字匹配问题。

 

3.4 一个类有基类、内部有一个其他类的成员对象,构造函数的执行顺序是怎样的。(Autodesk

答:先执行基类的(如果基类当中有虚基类,要先执行虚基类的,其他基类则按照声明派生类时的顺序依次执行),再执行成员对象的,最后执行自己的。

 

3.5 请描述一个你熟悉的设计模式(Autodesk)

 

3.6 UML 中,聚合(aggregation)和组合(composition)有什么区别 Autodesk)

答案:聚合关系更强,类似于pages book 的关系;组合关系要弱,类似于booksbookshelf 的关系。

 

3.7C#C++除了语法上的差别以外,有什么不同的地方?(AutodeskMicrosoft)

答案:(C#我只是了解,不是很精通)
(1) c#
有垃圾自动回收机制,程序员不用担心对象的回收。(2)c#严禁使用指针,只能处理对象。如果希望使用指针,则仅可在unsafe 程序块中能使用指针。(3)c#只能单继承。(4)必须通过类名访问静态成员。不能像C++中那样,通过对象访问静态成员。(5)在子类中覆盖父类的虚函数时必须用关键字override,覆盖父类的方法要用关键字new

 

3.8ADO.net ADO 的区别?

答案:实际上除了能够让应用程序处理存储于DBMS 中的数据这一基本相似点外,两者没有太多共同之处。但是ADO 使用OLE DB 接口并基于微软的COM 技术,而ADO.NET 拥有自己的ADO.NET 接口并且基于微软的.NET 体系架构。众所周知.NET 体系不同于COM 体系,ADO.NET 接口也就完全不同于ADOOLE DB 接口,这也就是说ADO.NET ADO是两种数据访问方式。ADO.net 提供对XML 的支持。

 

3.9 New delete malloc free 的区别 ( Autodesk)

答案:用malloc 函数不能初始化对象,new 会调用对象的构造函数。Delete 会调用对象的destructor,而free 不会调用对象的destructor.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多