Рубрики

C ++ | Виртуальные функции | Вопрос 3

Вывод следующей программы

#include<iostream>

using namespace std;

  

class Base

{

public:

    virtual void show() { cout<<" In Base \n"; }

};

  

class Derived: public Base

{

public:

    void show() { cout<<"In Derived \n"; }

};

  

int main(void)

{

    Base *bp, b;

    Derived d;

    bp = &d;

    bp->show();

    bp = &b;

    bp->show();

    return 0;

}

(А)

In Base 
In Base 

(В)

In Base 
In Derived

(С)

In Derived
In Derived

(D)

In Derived
In Base 

Ответ: (Д)
Объяснение: Первоначально базовый указатель указывает на объект производного класса. Позже он указывает на объект базового класса,
Тест на этот вопрос

Рекомендуемые посты:

C ++ | Виртуальные функции | Вопрос 3

0.00 (0%) 0 votes