Программирование >>  Расширенная версия языка c++ 

1 ... 200 201 202 [ 203 ] 204 205 206 ... 227


Приложение В. Ответ вопросы и решения упражнений 615 return 0;

2. # include <iostrea;m>

using namespace std;

class { public:

double d;

dist (double Г) [d - t; }

virtual void travtimeO

cou Время движения со скоростью 60 миль/час: ;

cout d / 60

ii - .

class metric: public dist {

public:

dist(f) {}

void t£av tiine()

cou Время движения со скоростью 100 км/час: ;

cout d / 100

int {

dist *р, mph(88.0) ;

metric p =

p -> trav tiine ( ) ;

p -> trav time () ;

return 0;

10.3

2. По определению в абстрактном класса жится, по крайней мере, одна чистая виртуальная функция. Это означает, что в классе отсутствует тело этой функции. Таким образом, создание объекта абстрактного класса невозможно, поскольку определение класса неполно.



Самоучитель С++

3. При вызове функции с() относительно класса derivedl используется функция ftincO из класса base. Так происходит потому, что виртуальные функции имеют иерархическую структуру.

1. Демонстрация возможностей виртуальных функций ♦include <iostream>

<cstdlib>

using namespace

class list I public:

i. < .

lis tead; указатель на начало списка list указатель на конец списка

list *next; атель на слеющий элемент списка

число для хранения

lis:; I head = tail = next = NULL;

virtual void i) 0;

virtual int = 0;

i

Создание списка типа очередь class eue: public list I piiblic:

void store (int i) ;

int retrieve

void i)

list

item = new eue;

cou Обка выделения памятиХп ; exit(l);

item -> num = i;

Добавление элемента в конец списка

tail -> next = item; tail = item; item next = NULL;

head tail;



Приложение В. Ответы на вопросы и решения упражнений 617 int queue: : retrieve О

int i;

list *p;

if {(head) { .

cou Список пуст\п ; return 0;

Удаление элемента из начала списка i = head -> num;

p = head;

head = head -> next; delete p;

return

списка типа стек

cclass stack: public list {

public: ;

void Store (int i);

int retrieve ();

);

void i)

list *item;

item = new stack;

if (litem) { -.

cou Ошибка выделения памяти\п ; exit(l) ;

item -> num = i;

Внесение элемента в начало списка

if (head) item -> next = head; . ,

head = item;

if (!tail) tail = head;

int {

int i; . .

list *p;

cou Ссок nyCTVn ;



1 ... 200 201 202 [ 203 ] 204 205 206 ... 227

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика