Программирование на С++ - eDrive
Программирование на С++ - eDrive
Программирование на С++ - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
10<br />
Рекомендации<br />
1. Объявление класса. Для разработки авторского класса ввести в проект новый<br />
модуль (Unit) из библиотеки шаблонов (File.New) и подключить его<br />
(File.Include Unit Hdr…) к форме, а форму – к нему. Объявление класса поместить<br />
в файл заголовка модуля, <strong>на</strong>пример:<br />
class MyClass<br />
{ private:<br />
double vec [256];<br />
int rows, col;<br />
void MyGridToVector ();<br />
void MyVectorToGrid ();<br />
void MyFill ();<br />
public:<br />
MyClass (int gridCol, int fill);<br />
~MyClass ();<br />
// массив<br />
// число строк и столбец<br />
// конструктор<br />
// деструктор<br />
void MyStringOp (MyClass &c1, MyClass &c2); // операция <strong>на</strong>д строкой<br />
double MyMax ();<br />
// максимальный элемент<br />
double MyMin ();<br />
// минимальный элемент<br />
AnsiString MyStatOp ();<br />
// операция <strong>на</strong>д столбцом<br />
void MySort (); };<br />
2. Определение класса. В файле кода модуля определить методы класса взамен<br />
соответствующих функций предыдущей работы. В конструкторе задается<br />
число строк и номер столбца. Здесь же массив может заполняться или<br />
считываться из таблицы в зависимости от з<strong>на</strong>чения параметра fill (1, –1, 0):<br />
col = gridCol;<br />
int r = StrToInt (Form1–>Edit1–>Text);<br />
rows = r;<br />
if (fill = = 1) MyFill ();<br />
else if (fill = = –1) MyGridToVector ();<br />
В деструкторе массив возвращается в таблицу вызовом функции<br />
MyVectorToGrid. Функции MyVectorToGrid, MyGridToVector и MyFill не нуждаются<br />
в параметрах, так как работают с массивом vec, <strong>на</strong>пример:<br />
void __fastcall TForm1::MyVectorToGrid ()<br />
{ for (int i=0; iStringGrid1–>Cells [col][i+1] = vec [i]; }<br />
Заданную операцию <strong>на</strong>д элементами строк, <strong>на</strong>пример, их сложение, можно<br />
выполнить в цикле:<br />
for (int i=0; i