- •Void main(void)
- •Void main(void)
- •Void main()
- •Void main()
- •Viod main()
- •Условные выражения
- •Void main()
- •If(Выраженне1) Выражение2;
- •If(Выражение1) Выраженпе2; else ВыражениеЗ;
- •Void main()
- •Циклические выражения
- •Void nain()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Массивы
- •Void main()
- •Void main()
- •Void main()
- •Viod main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Адреса и указатели
- •Void main()
- •Viod main()
- •Функции
- •Void main(void)
- •Void main(void)
- •Int I; double X,step();
- •Void decart(double r, double f)
- •Void main()
- •Void decart(double r,double f,double *X,double*y)
- •Void main()
- •Void rnain()
- •Void main()
- •Void main()
- •Void main()
- •Int length;
- •Объектно-ориентированное программирование и приложения с графическим интерфейсом
- •Void main(void)
- •Int MyFunc(int, int);
- •Void NewFunc(void);
- •Void main()
- •Void FuncOut();
- •Void prob::FuncOut()
- •Void main()
- •Void main()
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Int pascal
- •Int nCmdShow)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::okClick(tObject *Sender)
- •Int I,step;
- •Введение в численные методы
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. В программе должна быть выполнена инициализация свойства и вывод его значения на экран. Теперь, подготовив папку для проекта, выполняем следующие шаги.
Запускаем Borland C++ Builder и сразу же сохраняем консольный проект в папке, оставив все, что предлагается по умолчанию. Компилируем пока пустой проект и убеждаемся в том, что все в порядке.
Добавляем в проект новую пару файлов Unit2.cpp и Unit2.h. Для этого из пункта главного меню File открываем подпункт New и следующий подпункт Unit. Скомпилируйте проект снова и сохраните все с помощью комбинации клавиш Ctrl+Shift+S. Можете убедиться в том, что соответствующие модули добавлены к проекту.
В текст файла Unit2.h после нескольких строк, созданных системой добавьте код объявления класса. Теперь содержимое файла представляет собой примерно следующее:
class PROB
{
int iii;
public:
void FuncIn(int);
void FuncOut();
};
Итак, класс назван PROB, объявлена закрытая переменная-член iii и две открытые функции-члены.
В текст файла реализации 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"