Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по программ(мои).doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
969.73 Кб
Скачать

2. Модификаторы «[],(),*» в объявлениях.

Левая и правая круглые скобки “()” содержат список аргументов или список параметров, отделяемых друг от друга запятыми, при обращении или объявлении функции. int rus (unsigned char r) определена функция с именем rus, имеющая один параметр с именем r и типом unsigned char

Квадратные скобки “[]” используются при обращении к массиву, задавая номер позиции конкретного элемента – индекс. При объявлении значение в скобках указывает на количество элементов для того, чтобы компьютер мог зарезервировать соответствующий объем памяти. char name[30]

Символ * в записи int *countPtr; означает, что объявляемая переменная является указателем. Знак операции косвенной адресации * не распространяется на все переменные в строке объявления и должен предшествовать имени каждого указателя.

3. Наследование, инкапсуляция и полиморфизм, иерархия классов.

Наследование - механизм объектно-ориент программирования, позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родител класса заимствуются новым классом. Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса.

class A{ //базовый класс

};

class B : public A{ //public наследование

};

class C : protected A{ //protected наследование

};

class Z : private A{ //private наследование

};

Наследование приводит к древовидным иерархическим структурам. Базовый класс находится в иерархическом отношении со своими производными классами.

Инкапсуляция - свойство языка программир, позволяющее не задумываться о сложности реализации используемого программного компонента (то, что у него внутри), а взаимодействовать с ним посредством предоставляемого интерфейса (публичных методов и членов), а также объединить и защитить жизненно важные для компонента данные. Пользователь может взаимодействовать с объектом только через интерфейс, который реализуется с помощью ключевого слова public. Пользователь не может использовать закрытые данные и методы. Реализуется с помощью ключевых слов: private, protected.(( internal)).

class A

{

public:

int a, b; //данные открытого интерфейса

int ReturnSomething(); //метод открытого интерфейса

private:

int Aa, Ab; //скрытые данные

void DoSomething(); //скрытый метод

};

Класс А инкапсулирует свойства Aa, Ab и метод DoSomething, представляя внешний интерфейс ReturnSomething, a, b.

Полиморфизм - возможность объектов с одинаковой спецификацией иметь различную реализацию. Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования ((один интерфейс, множество реализаций)).

билет N 5

1.Вызов функций: параметры и аргументы.

Шаблон функции:

[тип_данных] имя_функции (список_аргументов)

{

[return (выр-е)]

}

Имя_функции – особый тип указателя, указатель на функцию. Его значением является адрес точки входа в функцию. В поле список_аргументов определяются аргументы, передаваемые в функцию, и содержит любую комбинацию типов и имен. Несколько аргументов разделяются запятой. Это – список формальных параметров. Для каждого вызова ф-ции с параметрами компилятор добавляет к точке вызова записи копий формальных аргументов. Копии аргументов в стеке называются фактическими аргументами.

Обрабатывая вызов функции, компилятор:

  • записывает в стек копии переменных, перечисленных в списке аргументов;

  • вызывает процедуры с возвратом.

Ф-ция извлекает копии из стека, и таким образом, формальные и фактические параметры изолируются.