ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
// класс, задающий гиперболическую функцию
class Hyperbola : public Function
{
// параметры, задающие гиперболическую функцию
double a, b;
double x0, y0;
public:
// конструктор гиперболической функции
Hyperbola(double = 1, double = 1,
double = 1, double = 1);
// переопределение виртуальной функции
// вычисления функции
double Calculate(Point);
// переопределение виртуальной функции ввода
// параметров функции
void Input();
// переопределение виртуальной функции
// вывода на печать
void Output();
};
// класс, задающий параболическую функцию
class Parabola: public Function
{
// параметры, задающие параболическую функцию
double p;
double y0;
public:
// конструктор параболической функции
Parabola(double = 1, double = 1);
// переопределение виртуальной функции
// вычисления функции
double Calculate(Point);
// переопределение виртуальной функции ввода
// параметров функции
void Input();
// переопределение виртуальной функции
// вывода на печать
void Output();
};
При такой структуре хранения функции требуется внести изменения
в класс Constraint. Внедрение объекта абстрактного типа,
определяющего функцию левой части, осуществить нельзя. Поэтому в
класс ограничения включается указатель на базовый класс, который
может хранить адрес объекта любого дочернего класса. С помощью
такого указателя будут вызваны виртуальные методы вычисления, ввода
и распечатки функций дочерних классов.
192
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М. // класс, задающий гиперболическую функцию class Hyperbola : public Function { // параметры, задающие гиперболическую функцию double a, b; double x0, y0; public: // конструктор гиперболической функции Hyperbola(double = 1, double = 1, double = 1, double = 1); // переопределение виртуальной функции // вычисления функции double Calculate(Point); // переопределение виртуальной функции ввода // параметров функции void Input(); // переопределение виртуальной функции // вывода на печать void Output(); }; // класс, задающий параболическую функцию class Parabola: public Function { // параметры, задающие параболическую функцию double p; double y0; public: // конструктор параболической функции Parabola(double = 1, double = 1); // переопределение виртуальной функции // вычисления функции double Calculate(Point); // переопределение виртуальной функции ввода // параметров функции void Input(); // переопределение виртуальной функции // вывода на печать void Output(); }; При такой структуре хранения функции требуется внести изменения в класс Constraint. Внедрение объекта абстрактного типа, определяющего функцию левой части, осуществить нельзя. Поэтому в класс ограничения включается указатель на базовый класс, который может хранить адрес объекта любого дочернего класса. С помощью такого указателя будут вызваны виртуальные методы вычисления, ввода и распечатки функций дочерних классов. 192
Страницы
- « первая
- ‹ предыдущая
- …
- 190
- 191
- 192
- 193
- 194
- …
- следующая ›
- последняя »