Создать абстрактный класс вычисления зависимости У от Х - C#
Формулировка задачи:
прошу прощения, смотрите, вот задание:
создать абстрактный класс (кривые) вычисления зависимости У от Х. Создать производные классы: Прямая, ЭЛЛИПС, Гипербола со своими функциями вычисления У(Х) в зависимости от входного параметра Х. для проверки определить массив указателей на абстрактный класс, которым присваиваются адреса объектов неабстрактных классов. Использовать указатели для вызова виртуальной функции.
уравнение прямой: y=ax+b
уравнение Эллипса:x^2/a^2+ y^2/b^2, где а - большая полуось, b - мала полуось
уравнение гиперболы: x^2/a^2 –y^2/b^2 =1 , где a - действенная полуось, b - воображаемая полуось
вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
class Krivy
{
public double x;
public double n;
public double t;
public double z;
public double y;
public double a, b;
public Krivy()
{
n = 10;
Console.WriteLine();
Console.Write("vvod x");
x = (Console.Read());
}
public double SvN
{
get
{
return n;
}
}
class pryama
{
public pryama()
{
Console.Write("vvod a");
a = (Console.Read());
Console.Write("vvod b");
b = (Console.Read());
y = (a * x) + b;
Console.WriteLine();
Console.Write(y);
}
}
class elips
{
public elips()
{
z = (Math.Pow(x, 2) / Math.Pow(a, 2)) + (Math.Pow(y, 2) / Math.Pow(b, 2));
Console.WriteLine();
Console.Write(z);
}
}
class giperbola
{
public giperbola()
{
t = 1;
t = (Math.Pow(x, 2) / Math.Pow(a, 2)) - (Math.Pow(y, 2) / Math.Pow(b, 2));
Console.WriteLine();
Console.Write(t);
}
}
}
}
}Решение задачи: «Создать абстрактный класс вычисления зависимости У от Х»
textual
Листинг программы
pryama p; Console.Write(p.y); elips e; Console.Write(e.z); giperbola g; Console.Write(g.t);