• 语言相关


    JAVA:

    1.问题:

    public boolean returnTest() { 
        try { 
        return true; 
        } catch (Exception e) { 
        } finally { 
            return false; 
            } 
    }

    以下代码返回值是什么?

    true

    false

    解答:

    参考这里 http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10.2.5

    我的理解:

    1、首先执行到try里的return,但是有finally语句还要执行,于是先执行return后面的语句,例如(x++),把要返回的值保存到局部变量。

    2、执行finally语句的内容,其中有return语句,这时就会忽略try中的return,直接返回。

    测试代码:

    public static int returnTestInt() 
    
    { int a = 0; 
    
    try { return a++; } 
    
    catch (Exception e) { 
    
    } finally { return ++a; } 
    
    }

    上面的代码,在我的机器上返回结果是2.

    于是本题就很简单了,选择false。

    C++:

    1.问题:

    已知const char * node="ABC";下列语句合法的是___.

    node[2] = 'k';

    *node[2]='k';

    *node = "xyz";

    node="xyz";

    解答:

    答案:D

    const char * node="ABC"

    这是一个指向字符常量的指针,也就是 *node 的值不能被改变

    A, node[2] = 'k';更改coust类型的值,编译不通过

    B,*node[2]这种写法本身就是错误的

    C,*node = "xyz"; 前面说了,*node的值不能改变

    D,node是指针类型,node指向的内容不能改变,但是node指针本身可以改变

    node="xyz";这里是让node指向“xyz”的首地址

    2.问题:

    虚函数,指针指向子类地址就调用子类地址,指向父类地址就调用父类函数:

    引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。

    class Cman 
    
    { 
    
    public: 
    
    virtual void Eat(){……}; 
    
    void Move(); 
    
    private: 
    
    }; 
    
    class CChild : public CMan 
    
    { 
    
    public: 
    
    virtual void Eat(){……}; 
    
    private: 
    
    }; 
    
    CMan m_man; 
    
    CChild m_child; 
    
    //这才是使用的精髓,如果不定义基类的指针去使用,没有太大的意义 
    
    CMan *p ; 
    
    p = &m_man ; 
    
    p->Eat(); //始终调用CMan的Eat成员函数,不会调用 CChild 的 
    
    p = &m_child; 
    
    p->Eat(); //如果子类实现(覆盖)了该方法,则始终调用CChild的Eat函数 
    
    //不会调用CMan 的 Eat 方法;如果子类没有实现该函数,则调用CMan的Eat函数 
    
    p->Move(); //子类中没有该成员函数,所以调用的是基类中的
  • 相关阅读:
    iscsi: 多路径
    Paxos算法分析
    ceph实践: 搭建环境
    ocfs2: 搭建环境
    设计模式:Context模式
    Ceph剖析:Leader选举
    Ceph剖析:定时器safetimer的实现
    nfs:环境搭建
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    Linux命令小结:crontab/netstat/iostat/sar
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/5093538.html
Copyright © 2020-2023  润新知