Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы с ответами ЯП.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
231.17 Кб
Скачать

3. Наследовние

Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов (hierarchical classification). Применение иерархии классов делает управляемыми большие потоки информации. Например, подумайте об описании жилого дома. Дом - это часть общего класса, называемого строением. С другой стороны, строение - это часть более общего класса - конструкции, который является частью ещё более общего класса объектов, который можно назвать созданием рук человека. В каждом случае порождённый класс наследует все, связанные с родителем, качества и добавляет к ним свои собственные определяющие характеристики. Без использования иерархии классов, для каждого объекта пришлось бы задать все характеристики, которые бы исчерпывающи его определяли. Однако при использовании наследования можно описать объект путём определения того общего класса (или классов), к которому он относится, с теми специальными чертами, которые делают объект уникальным. Наследование играет очень важную роль в OOP.

5) Перегрузка функций. Перегрузка операций.

Перегрузка функций

Перегрузка функций позволяет вам указать несколько определений для одной и той же функции. В процессе компиляции C++ определит, какую функцию следует использовать, основываясь на количестве и типе передаваемых параметров. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров.

    1. Перегрузка функций предоставляет несколько "взглядов" на одну и ту же функцию внутри вашей программы.

    2. Для перегрузки функций просто определите несколько функций с одним и тем же именем и типом возвращаемого значения, которые отличаются только количеством и типом параметров.

    3. В процессе компиляции C++ определит, какую функцию следует вызвать, основываясь на количестве и типе передаваемых параметров.

    4. Перегрузка функций упрощает программирование, позволяя программистам работать только с одним именем функции.

#include <iostream.h>

int add_values(int a,int b)

{

return(a + b);

)

int add_values (int a, int b, int c)

(

return(a + b + c);

)

void main(void)

{

cout << "200 + 801 = " << add_values(200, 801) << endl;

cout << "100 + 201 + 700 = " << add_values(100, 201, 700) << endl;

}

Перегрузка операций.

С++ позволяет переопределить действие большинства операций так, чтобы при использовании с объектами конкретного класса они выполняли заданные функции. Это дает возможность использовать собственные типы данных точно так же, как стандартные. Обозначения собственных операций вводить нельзя.

При перегрузке унарной операции операндом является вызывающий класс.

При перегрузке бинарной операции в качестве первого операнда выступает вызывающий класс, второй операнд задается в качестве аргумента.

Синтаксис:

тип_результата operator операция(формальные_параметры);

Например,

Massiv operator +(int k);