- •37.Фактические и формальные параметры
- •14. Структура программы на языке с
- •42.Массивы структур
- •4 Объектно-ориентированные особенности языка
- •[Править]Описание функций в теле класса
- •[Править]Константные функции-члены
- •[Править]Наследование
- •[Править]Полиморфизм
- •30 Динамические массивы:
- •1.Структурное программирование
- •2Нисходящее проектирование
- •3.Концепция модульного программирования
- •4. Объектно-ориентированное программирование (ооп)
- •5.Case-системы
- •9 Операции отношения и логические операции
[Править]Описание функций в теле класса
В теле класса можно указать только заголовок функции, а можно описать всю функцию (см. пример с функцией Alloc ниже. В этом случае она считается встраиваемой (inline))
[Править]Константные функции-члены
Нестатические функции-члены (и только они) могут иметь описатель const
class Array
{
...
inline double operator[] (int n) const;
Такие функции не имеют права изменять поля класса (кроме полей, определённых как mutable). Если они пытаются это сделать, компилятор должен выдать сообщение об ошибке.
[Править]Наследование
В C++ при наследовании одного класса от другого наследуется реализация класса, плюс класс-наследник может добавлять свои поля и функции или переопределять функции базового класса. Множественное наследование разрешено.
Конструктор наследника вызывает конструкторы базовых классов, а затем конструкторы нестатических членов-данных, являющихся экземплярами классов. Деструктор работает в обратном порядке.
Наследование бывает публичным, защищённым и закрытым (то есть закрытого типа):
Доступ члена базового класса/режим наследования |
private-член |
protected-член |
public-член |
private-наследование |
недоступен |
private |
private |
protected-наследование |
недоступен |
protected |
protected |
public-наследование |
недоступен |
protected |
public |
Наследник — это больше чем базовый класс, поэтому, если наследование открытое, то он может использоваться везде, где используется базовый класс, но не наоборот.
[Править]Полиморфизм
Полиморфизмом в программировании называется переопределение наследником функций-членов базового класса, например:
class Figure
{
...
void Draw() const;
...
};
class Square : public Figure
{
...
void Draw() const;
...
};
class Circle : public Figure
{
...
void Draw() const;
...
};
Какая именно из функций будет вызвана — Figure::Draw(),
30 Динамические массивы:
Такие массивы создаются с помощью операции NEW , при этом указать необходимо тип и размерность , например вот так :
int g=100;
float *p = new float [n]; //использование * в названии переменной массива указывает
//компилятору на то, что это массив.
Преимуществом динамических массивов является то, что размером массива может являться переменная которую может изменить сам пользователь в ходе работы программы.Доступ к элементам массива у динамических массивов и статических одинаков . Его можно выполнить 2 способами:
1. p[5] // массив p обращаемся к 5 элементу
2. *(p+5) // указываем перед скобками что это массив и увеличиваем номер элемента
// к которому и обращаемся.
5. В функции CASE входят средства анализа, проектирования и программирования. С помощью CASE автоматизируются процессы проектирования интерфейсов, документирования и производства структурированного кода на желаемом языке программирования.[3]
Все современные кейс-устройства могут классифицироваться, в основном, по типам и категориям. Классификация по типам отражает функциональную ориентацию кейс-средств на те или иные процессы жизненного цикла и, в основном, совпадают с компонентным составом кейс-средства и включает следующие типы:
Средства анализа - предназначены для построения и анализа предметной области;
Средства проектирования баз данных;
Средства разработки приложений;
Средства реинжиниринга(где реинжиниринг - это фундаментальное переосмысление и радикальное перепроектирование процессов для достижения резких улучшений в решающих показателях деятельности компании);
Средства планирования и управления проектом;
Средства тестирования;
Средства документирования.
Классификация по категориям определяет степень интегрированности по выполняемым функциям и включают - отдельные локальные средства, решающие небольшие автономные задачи, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла и полностью интегрированных средств, охватывающий весь жизненный цикл информационной системы и связанных общим репозиторием.
Типичными CASE инструментами являются:
инструменты управления конфигурацией;
инструменты моделирования данных;
инструменты анализа и проектирования;
инструменты преобразования моделей;
инструменты редактирования программного кода;
инструменты рефакторинга кода;
генераторы кода;
инструменты для построения UML-диаграмм.
Vantage Team Builder (Westmount I-CASE);
Designer/2000;
Silverrun;
ERwin+BPwin;
S-Designor;
CASE.Аналитик.