Unisys笔试题

来源:互联网 发布:手机淘宝怎么加优惠卷 编辑:程序博客网 时间:2024/06/02 03:11

1. what is virtual method?

    虚函数表示基类和派生类之间的关系 使用virtual关键字 派生类可以override基类虚函数来实现多态  虚函数定义要求 基类和派生类中的函数名 返回值 和 参数 完全相同

 

2. what is Polymorphism?

    Polymorphism表示 基类指针指向派生类对象  用来实现多态

 

3. difference between overloading and overriding
    override 2个函数分别位于基类和派生类中 要求函数名 参数 返回值 完全相同 必须是虚函数 派生类通过override基类函数来实现多态

    overload 2个函数位于同一个类中 要求函数名相同 参数不能相同 

 

4. difference between abstract class and interface?How to decide to use which one?
    abstract 抽象类 必须包含至少一个纯虚函数来保证该类不能被实例化 如果派生类没用完全重写基类纯虚函数 那么这个类也是抽象类 抽象类可以有默认实现  如果添加抽象类的成员函数 派生类不一定需要重写

 

    interface 接口  成员函数只有声明 没有定义 不能使用virtual关键字 不能实力化 派生类必须全部实现接口的声明派生类通过实现接口

 

    区别:

    1) 一个类只能继承自一个abstract class但是可以继承自多个interface

    2) abstract class表示is-a关系 interface表示like-a关系

    3) abstract class中可以有默认实现  interface不可以

   

    例子:

   

 

5. difference between pointer and reference

    1) pointer占用内存 reference不占用内存

    2) pointer指向特别对象后可以改变指向 reference一旦和对象绑定 就不能改变

    本质:程序编译时会生成符号表,符号表上定义了变量名和变量指向的地址  pointer变量指向的地址是指针的地址 而reference指向的地址就是自己引用对象的地址 所以reference一旦绑定就不能再改变

 

6. what does word const mean?
    const表示常量的概念  经常被用作函数参数和返回值

    例如:

    const char * p1 = "123";         // const 指针指向内容不能被改变

    char * const p2 = "234";   // const 指针本身不能改变指向

    const char* const p3 = "345";  // const指针不能改变指向而且const指针指向内容不能被改变

 

7. what are boxing and unboxing?describe generic of c#

    boxing装箱  把值类型转换为引用类型 

    3步:

    1) 在托管堆上分配为变量分配内存

    2) 把值类型变量的内容copy到刚才分配在托管堆上的内存上

    3) 返回托管对象的地址

    装箱会操成性能损耗

 

    unboxing拆箱  把引用类型转换为值类型

    获得托管堆上引用类型数据的地址

    接下来进行字段copy

 

8. difference between asp and asp.net

    asp使用VBS和JS 面向结构

    asp.net面向对象

 

9. advantage of stored procedure

 

原创粉丝点击