57 lines
1.0 KiB
C++
57 lines
1.0 KiB
C++
|
|
#ifndef SOLVER_H
|
|
#define SOLVER_H SOLVER_H
|
|
|
|
class Solver
|
|
{
|
|
public:
|
|
class Result
|
|
{
|
|
public:
|
|
Result();
|
|
int numResults;
|
|
double results[4];
|
|
};
|
|
|
|
Solver(double a = 0.0,
|
|
double b = 0.0,
|
|
double c = 0.0,
|
|
double d = 0.0,
|
|
double e = 0.0);
|
|
virtual Result solve() = 0;
|
|
|
|
protected:
|
|
double a, b, c, d, e;
|
|
};
|
|
|
|
class LinearSolver : public Solver
|
|
{
|
|
public:
|
|
LinearSolver(double a, double b);
|
|
Result solve();
|
|
};
|
|
|
|
class QuadraticSolver : public Solver
|
|
{
|
|
public:
|
|
QuadraticSolver(double a, double b, double c);
|
|
Result solve();
|
|
};
|
|
|
|
class CubicSolver : public Solver
|
|
{
|
|
public:
|
|
CubicSolver(double a, double b, double c, double d);
|
|
Result solve();
|
|
};
|
|
|
|
class QuarticSolver : public Solver
|
|
{
|
|
public:
|
|
QuarticSolver(double a, double b, double c, double d, double e);
|
|
Result solve();
|
|
};
|
|
|
|
#endif
|
|
|