C#

Базовые классы C# Нужен код такой большой

1) Создать базовый класс с тремя целыми полями. Разработать два конструктора: первый – без параметров – заполняет поля случайными данными; второй – с тремя параметрами – конструктор копирования. Разработать метод: вывода полей.
2) Класс "Прямоугольный параллелепипед". Наследует базовый класс. Поля обозначают длину и ширину основания, высоту. Реализовать соответствующие конструкторы. Методы: а) объём; б) площадь полной поверхности; в) выбор из двух параллелепипедов параллелепипеда с наибольшим объёмом.
using System;
namespace Answer {
class Program {
static void Main() {
var a = new Parallelepiped();
var b = new Parallelepiped(4, 7, 5);
Console.WriteLine("Первый: случайная инициализация:");
a.OutputtingFieldValues();
Console.WriteLine("Второй: заданная инициализация:");
b.OutputtingFieldValues();
if (a > b) Console.WriteLine("Объём первого больше второго");
else if (b > a) Console.WriteLine("Объём второго больше первого");
else Console.WriteLine("Объёмы равны");
Console.ReadKey();
}
}
public class Base {
protected int a;
protected int b;
protected int c;
public Base() {
var rand = new Random();
a = rand.Next(2, 10);
b = rand.Next(2, 10);
c = rand.Next(2, 10);
}
public Base(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
virtual public void OutputtingFieldValues() {
Console.WriteLine($"{a} {b} {c}");
}
}
public class Parallelepiped : Base {
public Parallelepiped() { }
public Parallelepiped(int a, int b, int c) : base(a, b, c) { }
public override void OutputtingFieldValues() {
Console.WriteLine($"Длина: {a,3}\nШирина: {b,2}\nВысота: {c,2}");
}
public int Volume() {
return a * b * c;
}
public int Area() {
return 2 * (a * b + b * c + a * c);
}
public static bool operator <(Parallelepiped a, Parallelepiped b) {
return a.Volume() < b.Volume();
}
public static bool operator >(Parallelepiped a, Parallelepiped b) {
return a.Volume() > b.Volume();
}
}
}
МВ
Миша Волегов
90 644
Лучший ответ
Андрей Лущан Volume и Area он не хочет считать, вроде. Или это надо как-то отдельно сделать..