1.const 和static变量有什么不同?
2.抽象类和纯虚函数是什么功能?

解决方案 »

  1.   

    1.const 和static变量有什么不同?const 常量,在程序中任何改变这个值的企图都将引起编译错误,或者说任何“试图将一个非 const 对象的指针指向一个常量对象”的动作都将引起编译错误。static 静态局部对象,声明可在整个程序运行期间一直存在的局部对象,它有静态范围,一个静态变量的值在静态范围内的多个函数调用间它保持有效。
      

  2.   

    2.抽象类和纯虚函数是什么功能?纯虚函数是一个在基类(这里基类只表达一些抽象的概念,它并不和具体的事物相联系)中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
    纯虚函数的定义形式:virtual type function_name (parameter_table) = 0;与虚函数定义基本相同,只是在后面多了“= 0”。如果一个类至少有一个纯虚函数,那么就称该类为抽象类。它有几点规定:
    1. 抽象类只能用作其它类的基类,不能建立抽象类对象
    2. 抽象类不能用作参数类型、函数返回类型或者显式转换的类型
    3. 可以声明指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。以前学的书上看的,大家可以补充。
      

  3.   

    当然不同了!
    const是常量
    static是变量,static只要一经初始化就驻留内存,直到程序退出!