多态性(小题)

判断题:

1-1
虚函数是用virtual 关键字说明的成员函数。( T )

1-2
因为静态成员函数不能是虚函数,所以它们不能实现多态。( T )

1-3
将构造函数说明为纯虚函数是没有意义的。( T )

1-4
抽象类是指一些没有说明对象的类。( F )

1-5
包含纯虚函数的类叫抽象类。( T )

单选题:

2-1
关于动态绑定的下列描述中,( D )是错误的。
A.动态绑定是以虚函数为基础的
B.动态绑定在运行时确定所调用的函数代码
C.动态绑定调用函数操作是通过指向对象的指针或对象引用来实现的
D.动态绑定是在编译时确定操作函数的

2-2
关于虚函数的描述中,( C )是正确的。
A.虚函数是一个static 类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

2-3
关于纯虚函数和抽象类的描述中,( C )是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

2-4
下列描述中,( D )是抽象类的特性。
A.可以说明虚函数
B.可以进行构造函数重载
C.可以定义友元函数
D.不能定义该类对象

2-5
设有如下代码段:

class A {
public:
    void func1() {
        cout << "A1" << endl;
    }
    virtual void func2() {
        cout << "A2" << endl;
    }
};
class B : public A {
public:
    void func1() {
        cout << "B1" << endl;
    }
    void func2() {
        cout << "B2" << endl;
    }
};

int main() {
    A *a = new B;
    a->func1();
    a->func2();
}

则输出结果为 ( B )
A.A1 A2
B.A1 B2
C.B1 A2
D.B1 B2

2-6
关于虚函数,正确的描述是( A )。
A.构造函数不能是虚函数
B.析构函数不能是虚函数
C.虚函数可以是友元函数
D.虚函数可以是静态成员函数

2-7
如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是( C )。
A.virtual show()=0;
B.virtual void show();
C.virtual void show()=0;
D.void show()=0 virtual;

2-8
不列哪一项不是动态联编实现的条件? ( D )
A.要有说明的虚函数
B.调用虚函数操作的是指向对象的指针
C.调用虚函数操作的是对象引用
D.由对象调用虚函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值