Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-27 | 155 |
5.00
из
|
Заказать работу |
|
|
Использование классов — основное отличие оо-программирования от структурного.
Класс — это производный структурный тип, введённый в программировании на основе уже существующих типов.
Объект — конкретные переменные типа.
ключ_класса имя_класса
{
список_компонентов;
};
ключ_класса — одно из служебных слов:
- class
- struct
- union
Определение класса заканчивается;
Принадлежащие классу функции называют методами класса или компонентными функциями. Данные класса называют компонентными данными, полями данных или элементами данных класса.
Struct complex
{
double real;
}
Класс: все компоненты по-умолчанию закрыты.
Структура: все компоненты по-умолчанию открыты.
Билет 27. Инкапсуляция. Режимы доступа к элементам класса
Доступ определяется правами доступа, которые устанавливаются следующие:
- private(использование только функции данного класса)
- public
- protected
Private – устанавливается по-умолчанию для служебного слова class.
Public - -//- слова struct.
Protected – используются лишь при создании иерархии классов.
Union – использование в качестве ключа_класса приводит к экономии пространства в памяти и ещё некоторым интересным аспектам. Общедоступно, но изменяемо спецификаторами.
Инкапсуляция — скрытие данных внутри объекта.
:: - операция принадлежности, при объявлении своих прототипов.
Обращение к элементам объекта:
void drob::vvod(void)
{…}
drob y;
…
y.vvod();
Билет. Понятие наследования. Объявление классов при наследовании
Функция потомка перекрывает одноимённую функцию своего предка.
Формат объявления функции потомка:
class имя_потомка:
режим_доступа имя_предка
{
новые_элементы;
};
|
Для того, что бы элементы данных класса предка были доступны функциям класса потомка, этим элементам должен быть поставлен в соответствии режим доступа — protected.
Class имя_потомка::режим_доступа имя_потомка
{…};
Билет. Конструкторы и деструкторы. Их имена и объявления
Конструктор создан для инициализации компонентных данных и выделение динамической памяти под данные.
Диструктор освобождает выделенную память конструктором при удалении объекта.
Int, double,float...
Выделение и освобождение памяти происходит системой автоматически.
Конструктор и диструктор объявляются, как члены функции класса. Имя конструктора совпадает с именем класса, а имя диструктора начинается с ~имя_класса
Пример:
class str_oper
{char *string;
int string_len;
public:
str_oper(char *)//конструктор
{string=new char[string_len];}
~str_oper() //диструктор
{delete string;}
…
}
В основной программе обращения к конс. Или дистр. Нет. Их выполнение происходит автоматически.
Билет. Полиморфизм и перегрузка
Возможность использования функции(или операции) с одним и тем же именем применительно к разным наборам аргументов и операторов. Реализация выполнена через перегрузку.
Перегрузка — это расширения действия стандартных функций. Внутри класса допускается существование нескольких функций с одинаковыми именами, но различных типов результатов и наборами формальных параметров.
Компилятор автоматически выбирает подходящий вариант.
Пример:
…
int absolute::modul(int x)
{ return(abs(x)); }
double absolute::modul(double x)
{ return(fabs(x)); }
…
Перегрузка операций
Полиморфизм реализуется не только через механизм перегрузки, но и через перегрузку операции. Включается специальная функция, которая определяет действия, выполняемые этой операцией. Формат определения такой функции:
тип_возвращаемого_значения
оператор знак_операции(спецификации_параметров_операции)
{ тело_функции_операции; }
Пример:
#include<iostream.h>
#include<conio.h>
class vector
{
int x,y,z;
public:
vector operator+(vector t);
|
vector operator=(vector t);
void int (int mx, int my, int mz);
void show(void);
};
//Перегрузка операций+
vector vector::operator+(vector t)
{
vector temp;
temp.x=x+t.x;
temp.y=y+t.y;
temp.z=z+t.z;
return temp;
}
//Перегрузка операции=
vector vector::operator=(vector t)
{
x=t.x;
y=t.y;
z=t.z;
return *this;
}
void vector::init(int mx, int my, int mz)
{ x=mx; y=my; z=mz; }
void vector::Show(void)
{ cout<<x<<”, ”<<y<<”, ”<<z<<”\n”; }
void main()
{vector a,b,c;
clrscr():
a.init(1,2,3);
b.init(10,10,10);
a.show();
b.show();
c=a+b;
c.show();
c=a+b+c;
c.show();
c=b=a;
c.show();
b.show();
getch();
}
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!