ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
double y;
};
При решении задач необходимо вычислять значения функций,
заданных с помощью объектов класса Function, в различных точках
пространства. Для этого в классе должен быть определен
соответствующий метод:
// функция в левой части ограничения
class Function
{
int typeFunction; // тип кривой: 1 – линейная,
// 2 – эллиптическая,
// 3 – гиперболическая,
// 4 – параболическая
// параметры задающие функции разных типов
double a, b, p, x0, y0;
public:
. . .
double Calculate(Point);
. . .
};
// метод вычисления функции
double Function::Calculate(Point pt)
{
double value = 0.0;
switch (typeFunction)
{
case 1:
value = a * pt.x + b * pt.y;
case 2:
value = (pt.x - x0) * (pt.x - x0) / (a * a)
+(pt.y - y0) * (pt.y - y0) / (b * b);
case 3:
value = (pt.x - x0) * (pt.x - x0) / (a * a)
-(pt.y - y0) * (pt.y - y0) / (b * b);
case 4:
value = (pt.y - y0) * (pt.y - y0)
– 2 * p * pt.x;
default:
// неизвестен тип функции,
// поэтому генерируется исключение
throw FunctionException();
}
return value;
189
Объектно-ориентированное программирование на С++ double y; }; При решении задач необходимо вычислять значения функций, заданных с помощью объектов класса Function, в различных точках пространства. Для этого в классе должен быть определен соответствующий метод: // функция в левой части ограничения class Function { int typeFunction; // тип кривой: 1 – линейная, // 2 – эллиптическая, // 3 – гиперболическая, // 4 – параболическая // параметры задающие функции разных типов double a, b, p, x0, y0; public: . . . double Calculate(Point); . . . }; // метод вычисления функции double Function::Calculate(Point pt) { double value = 0.0; switch (typeFunction) { case 1: value = a * pt.x + b * pt.y; case 2: value = (pt.x - x0) * (pt.x - x0) / (a * a) +(pt.y - y0) * (pt.y - y0) / (b * b); case 3: value = (pt.x - x0) * (pt.x - x0) / (a * a) -(pt.y - y0) * (pt.y - y0) / (b * b); case 4: value = (pt.y - y0) * (pt.y - y0) – 2 * p * pt.x; default: // неизвестен тип функции, // поэтому генерируется исключение throw FunctionException(); } return value; 189
Страницы
- « первая
- ‹ предыдущая
- …
- 187
- 188
- 189
- 190
- 191
- …
- следующая ›
- последняя »