Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по программированию.doc
Скачиваний:
11
Добавлен:
13.11.2019
Размер:
1.2 Mб
Скачать

Int MyFunc(int, int);

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

Void NewFunc(void);

Описание методов должно быть выполнено где-то в программе. Здесь следует сказать несколько слов о рекомендациях по хорошему стилю программирования в системах ООП. Современные средства программирования на С++ (Borland C++ Builder, MS Visual Studio) настоятельно рекомендуют придерживаться модульного принципа построения программы. Применительно к программам с самостоятельно разрабатываемыми классами эти рекомендации заключаются в следующем. Функции, вызывающие методы класса или оперирующие со свойствами класса помещаются в модуль с расширением .cpp. В Builder’е это, скорее всего, будет файл Unit1.cpp, если не переименовывать то, что предлагается по умолчанию. Объявления классов обычно помещаются в заголовочные файлы. Допустим, это будет файл Unit2.h. Тогда описания реализаций функций-членов разумно поместить в соответствующий cpp-файл, который будет называться файлом реализации. В нашем случае файл реализации будет иметь имя Unit2.cpp.

Теперь приступим к разработке простейшей программы с «самодельным» классом. Пусть наш класс будет называться PROB. Единственным его свойством (переменной-членом) будет целое с именем iii закрытого типа. Методами класса будут две открытые функции FuncIn и FuncOut. Назначение первой заключается в присвоении свойству iii значения, равного аргументу функции. Второй метод должен отображать значение переменной iii. В программе должна быть выполнена инициализация свойства и вывод его значения на экран. Теперь, подготовив папку для проекта, выполняем следующие шаги.

  1. Запускаем Borland C++ Builder и сразу же сохраняем консольный проект в папке, оставив все, что предлагается по умолчанию. Компилируем пока пустой проект и убеждаемся в том, что все в порядке.

  2. Добавляем в проект новую пару файлов Unit2.cpp и Unit2.h. Для этого из пункта главного меню File открываем подпункт New и следующий подпункт Unit. Скомпилируйте проект снова и сохраните все с помощью комбинации клавиш Ctrl+Shift+S. Можете убедиться в том, что соответствующие модули добавлены к проекту.

  3. В текст файла Unit2.h после нескольких строк, созданных системой добавьте код объявления класса. Теперь содержимое файла представляет собой примерно следующее:

class PROB

{

int iii;

public:

void FuncIn(int);

void FuncOut();

};

Итак, класс назван PROB, объявлена закрытая переменная-член iii и две открытые функции-члены.

  1. В текст файла реализации Unit2.cpp также после созданных системой строк добавьте код реализации функций. В результате будем иметь следующее:

#include<conio.h>

#include<stdio.h>

void PROB::FuncIn(int i)

{iii = i;}

void PROB::FuncOut()

{

printf(“%d”,iii);

getch();

}

Синтаксис задания функций-членов понятен из текста. Сначала указывается тип возвращаемого значения – в нашем случае это void. Далее пишется имя класса. Затем, после двух двоеточий, обычное описание функции.

С функцией FuncIn все достаточно ясно. Поскольку это метод класса, он имеет прямой доступ к свойству iii. В теле функции свойство получает значение, равное аргументу функции. Второй метод должен вывести значение переменной iii в стандартный инструмент консольного вывода printf. Кроме того, здесь предусмотрен известный нам прием остановки программы до нажатия любой клавиши на клавиатуре. В этой связи в начале фрагмента производится подключение соответствующих заголовочных файлов.

Переходим к оформлению модуля, вызывающего методы класса. Здесь все, что подготовила система, можно удалить так, что вызывающая программа может иметь вид:

#include "Unit2.h"