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

1 Атрибуты private, public, protected.

сlass имя_производного_класса : [ атрибут ] имя_базового_класса

{тело_произв_класса} [список объектов];

множественное наследование – возможность для некоторого класса наследовать компоненты нескольких никак не связанных между собой базовых классов. В иерархии классов соглашение относительно доступности компонентов класса следующие:

private – Член класса может использоваться только функциями- членами данного класса и функциями- “друзьями” своего класса. В производном классе он недоступен.(Модификатор private является атрибутом доступа по умолчанию. Он закрывает поля от всех других классов, разрешая прямой доступ к ним (чтение и запись) только методам самого класса. Помните, все поля всегда доступны всем методам класса. Они являются для методов класса глобальной информацией, с которой работают все методы, извлекая из полей нужные им данные и изменяя их значения в ходе работы.)

protected – То же, что и private , но дополнительно член класса с данным атрибутом доступа может использоваться функциями- членами и функциями- “друзьями” классов, производных от данного

public – Член класса может использоваться любой функцией, которая является членом данного или производного класса, а также к public - членам возможен доступ извне через имя объекта.

Следует иметь в виду, что объявление friend не является атрибутом доступа и не наследуется.

2 Виртуальные метода и полиморфизм.

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

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

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

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

2. Виртуальные методы и полиморфизм.  В общем случае полиморфизм представляет способность объекта изменять форму. Полиморфизм – возможность замещения метода объекта-родителя одноименными методами объекта-потомка. При работе с объектами довольно типичной является ситуация, когда сложный метод приходится создавать заново для каждого типа объекта, хотя различия в поведении объектов могут быть небольшими.  В этом случае обычно создается общий сложный метод, а различия вносятся в сменные подчиненные методы.  Реализация такого подхода осуществляется с помощью виртуальных подчиненных методов. С этой целью после заголовка каждого сменного метода требуется написать virtual. Заголовки виртуальных методов предка и потомка должны в точности совпадать, причем оба метода должны быть виртуальными. Полиморфизм в С++ реализуется не только через виртуальные методы, но и через механизм перегрузки: внутри класса допускается существование нескольких функций с одинаковым именем, но различающимися типами результатов и наборами формальных параметров. 

3Вывод графического изображения на форму

Для вставки графического изображения необходимо добавить на форму компонент Image из палитры компонентов Additional. Вызвать окно редактирования рисунка Picture Editor. С помощью кнопки Load вызвать окно загрузки файла и выбрать картинку из любого файла.

4Вывод сообщения пользователю:

Используется оператор cout. пример:

#include <iostream.h>

void main(void)

{

cout << "Вывод сообщения";

}

В итоге после компиляции , когда мы запустим программу, на нашем экране появится надпись Вывод сообщения. Текст после cout << обязательно заключать в кавычки, иначе компиляция выдаст ошибку.

5. Вызов одной формы из другой.

Добавляем в проект форму Form2

В обработчике события нажатия кнопки пишем

Form2 f2=gcnew Form2();

f2->Show();

6. Друзья-функции и друзья-классы.

Программы на C++ широко используют классы. Говоря кратко, классы позволяют вашим программам группировать для определенного объекта его данные и методы (функции), которые оперируют этими данными, в одной переменной. Классы C++ являются основой объектно-ориентированного программирования. метка public, появляющаяся в определении класса, делает элементы класса доступными для всей программы. C++ позволяет друзьям определенного класса обращаться к частным элементам этого класса. Чтобы указать C++, что один класс является другом другого класса, вы просто помещаете ключевое слово friend и имя соответствующего класса-друга внутрь определения этого другого класса.

Если программа использует друзей для доступа к частным данным класса, вы можете ограничить количество функций-элементов класса-друга, который может обращаться к частным данным, используя дружественные функции. Для объявления функции-друга укажите ключевое слово friend, за которым следует полный прототип, как показано ниже:

public:

friend class_name::function_name(parameter types);

Только функции-элементы, указанные как друзья, могут напрямую обращаться к частным элементам класса, используя оператор точку.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]