13.01.2015 Views

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

class VPC {<br />

private:<br />

int type;<br />

AnsiString firm;<br />

public:<br />

double price;<br />

void Set (int a, AnsiString b) { type = a; firm = b; }<br />

void Out () {<br />

ShowMessage ("Пpоцессор фирмы " + firm + " стоит $" + price);<br />

}<br />

};<br />

97<br />

Для создания объектов класса в других формах, в их файлах кода размещаются<br />

ссылки <strong>на</strong> файл заголовка класса VPC. Ниже приведен пример<br />

функции MainVPC, «воспользовавшейся услугами» класса VPC для обработки<br />

объекта myCPU, и таких функций может быть множество:<br />

void MainVPC () {<br />

AnsiString company = "Acer";<br />

VPC myCPU;<br />

myCPU.Set (6, company); myCPU.price = 100; myCPU.Out ();<br />

}<br />

Другой пример посвящен классу VIntegral, реализующему численное<br />

интегрирование тремя методами: методом прямоугольников, методом трапеций<br />

и методом парабол. Класс объявлен в файле заголовка модуля, его членфункции<br />

Rect, Trap, Para определены в файле кода модуля, а объекты созданы<br />

функцией MainVIntegral в файле кода формы:<br />

class VIntegral {<br />

double j, x, sum, sum1, f;<br />

public:<br />

void Rect (double, double, double, double (*fnc) (double, double));<br />

void Trap (double, double, double, double (*fnc) (double, double));<br />

void Para (double, double, double, double (*fnc) (double, double));<br />

};<br />

void VIntegral :: Rect (double xk, double h, double f,<br />

double (*fnc) (double x, double y))<br />

{ for (x=0, sum=0; x

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!