下面描述中,正确的是(  )

  1. 虚函数是没有实现的函数
  2. 纯虚函数的实现是在派生类中
  3. 抽象类是没有纯虚函数的类
  4. 抽象类指针可以指向不同的派生类
2 1 收藏


直接登录
最新评论
  • LGTM   2016/04/04

    选D,

    A.可以给虚函数写实现代码,

    B.在基类和子类都可以.

    C,说反了.

    • 王先生 学生 2016/04/17

      用关键字virtual修饰的成员函数叫做虚函数,虚函数是
      为了多态而存在的必须有函数体,纯虚函数的声明,是在
      虚函数的结尾加=0,没有函数体。在派生类中没有重新定
      义虚函数之前是不能调用的,如果一个类中至少含有一个
      虚函数,此时称之为抽象类,所以抽象类一定有纯虚函数
      基类类型的指针可以指向任何基类或派生类对象。

  • 龙雀 野生程序员 2016/04/17

    纯虚函数的默认实现我估计没几个人能想到。如果一个纯虚函数在基类有默认实现,基类不能实例化,子类不覆写是可以实例化的。

    简直是个坑。

  • 破晓   2016/04/18

    D

  • klitz 攻城虱 2016/04/18

    class A {
    public:
    virtual void f() = 0;
    };

    void A::f() {
    cout<<"Test"<<endl;
    }

    class B : public A {
    virtual void f() {
    A::f();
    }
    };

    会写这种代码的人,想想他心里都苦。。。