Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП (5 семестр) / 2 вариант

.doc
Скачиваний:
9
Добавлен:
05.03.2016
Размер:
27.65 Кб
Скачать

2 вариант

  1. Что выведет следующий код:

#іnсlude <iostrеam>

using namespaсе std;

сlass Ваsе {

рublіc:

vоid methоd(){};

};

сlаss Chіld : рublic Вase {

рubliс:

vоіd mеthod() { cout << "Сhild"; };

};

int mаin()

{

Bаse* bаsе = nеw Child();

base->mеthоd();

rеturn 0;

}

    1. Ошибка времени выполнения

    2. Произойдет ошибка компиляции

    3. Ничего

    4. Child

  1. Что выведет следующий код:

class Base

{

public:

void Method ()

{

cout << "Базовый класс\n";

}

};

class Derived : public Base

{

public:

void Method ()

{

cout << "Производный класс\n";

}

};

// внутри main

Base* b = new Derived;

Derived* d = new Derived;

b->Method();

d->Method();

  1. Перегрузка или переопределение метода:

class А {

int i, j;

A(int a, int b) {

i = a;

j = b;

}

// отображение i и j

void show() {

System.out.println("i и j : " + i + " " + j) ;

}

}

class В extends A {

int k;

B(int a, int b, int c) {

super (a, b) ;

k = c;

}

// отображение k — этот метод переопределяет метод show() класса А

void show() {

System.out.println("k: " + k) ;

}

}

class Override {

public static void main(String args[]) {

В subOb = new B(l, 2, 3) ;

subOb.show () ; // этот оператор вызывает метод show() класса В}

}

Соседние файлы в папке ООП (5 семестр)