0 / 0 / 0
Регистрация: 14.02.2017
Сообщений: 7
|
|
1 | |
Описать производный класс цилиндр30.05.2017, 15:52. Показов 4089. Ответов 3
Метки нет Все метки)
(
Помогите написать программу
Описать производный класс цилиндр, добавив в него поле «высота» и методы: нахождения объема цилиндра и площади поверхности. В классе реализовать операции равно, не равно, больше, меньше (сравнение проводить по величине объема).
0
|
|
30.05.2017, 15:52 | |
Ответы с готовыми решениями:
3
Описать базовый класс колоды карт и производный класс пасьянс Класс: Дописать производный класс, дополняющий базовый и содержащий минимум 2 функции-члена... Абстрактный класс «Хранилище» и производный класс «Библиотека» Класс Tovar и производный класс Shop |
75 / 75 / 96
Регистрация: 29.09.2012
Сообщений: 232
|
|
30.05.2017, 17:26 | 2 |
Не совсем понятно как искать объем и площадь без радиуса. Реализовать просто операции или они должны быть перегружены?
0
|
0 / 0 / 0
Регистрация: 14.02.2017
Сообщений: 7
|
|
30.05.2017, 18:12 [ТС] | 3 |
Да, они должны быть перегружены
Добавлено через 38 минут Код как бы сам есть, но я не уверен, что нужно создавать класс круг, хотя по идеи он должен быть вроде как?) Кликните здесь для просмотра всего текста
using System;
namespace Program1 { // Класс Окружность. class Circle { // Поля класса: координаты центра и радиус. private double _x0, _y0, _radius; // Определяем методы доступа к полям. public double x0 { get { return _x0; } set { _x0 = value; } } public double y0 { get { return _y0; } set { _y0 = value; } } public double radius { get { return _radius; } set { _radius = value; } } // Конструктор по умолчанию. Создает окружность с единичным радиусом с центром в точке (0; 0). public Circle() // Вызываем конструктор с 1м параметром. : this(1) { } // Конструктор с 1м параметром. Создает окружность с заданным радиусом с центром в точке (0; 0). public Circle(double r) // Вызываем конструктор с 3мя параметрами. : this(0, 0, r) { } // Конструктор 3мя параметрами. Создает окружность с заданным радиусом и центром. public Circle(double x, double y, double r) { x0 = x; y0 = y; radius = r; } // Метод, вычисляющий длину окружности. public double getLength() { return 2 * Math.PI * radius; } // Метод, вычисляющий площадь круга. public double getSquare() { return Math.PI * radius * radius; } // Метод вывода на экран. public virtual void print() { Console.WriteLine("R = {0}; x = {1}, y = {2}, S = {3}, P = {4}", radius, x0, y0, getSquare(), getLength()); } } // Класс Цилиндр, производный от Окружности. class Cylinder : Circle { // Высота. private double height; // Конструктор по умолчанию. Создает цилиндр с единичным радиусом и высотой с центром в точке (0; 0). public Cylinder() // Вызываем конструктор с 1м параметром. : this(1, 1) { } // Конструктор с 2мя параметрами. Создает цилиндр с заданным радиусом и высотой с центром в точке (0; 0). public Cylinder(double r, double h) // Вызываем конструктор с 3мя параметрами. : this(0, 0, r, h) { } // Конструктор 4мя параметрами. Создает цилиндр с заданным радиусом, высотой и центром. public Cylinder(double x, double y, double r, double h) // Вызываем конструктор базового класса. : base(x, y, r) { height = h; } // Метод, вычисляющий объем цилиндра. public double getVolume() { return getSquare() * height; } // Метод, вычисляющий площадь поверхности цилиндра. public double getSurfaceSquare() { return getSquare() * height; } // Перегрузка оператора "равно". public static bool operator ==(Cylinder c1, Cylinder c2) { return c1.getVolume() == c2.getVolume(); } // Перегрузка оператора "не равно". public static bool operator !=(Cylinder c1, Cylinder c2) { return c1.getVolume() != c2.getVolume(); } // Перегрузка оператора "больше". public static bool operator >(Cylinder c1, Cylinder c2) { return c1.getVolume() > c2.getVolume(); } // Перегрузка оператора "меньше". public static bool operator <(Cylinder c1, Cylinder c2) { return c1.getVolume() < c2.getVolume(); } public virtual void print() { Console.WriteLine("R = {0}; H = {1}; x = {2}, y = {3}, S = {4}, V = {5}", radius, height, x0, y0, getSurfaceSquare(), getVolume()); } } class Program { static void Main(string[] args) { // Создаем окружность помощью коструктора по умолчанию. Circle circle1 = new Circle(); circle1.print(); // Создаем окружность помощью коструктора с одним параметром. Circle circle2 = new Circle(2); circle2.print(); // Создаем окружность помощью коструктора тремя параметрами. Circle circle3 = new Circle(2, -3, 1); circle3.print(); // Создаем цилиндр помощью коструктора по умолчанию. Cylinder cylinder1 = new Cylinder(); Console.Write("Cylinder 1: "); cylinder1.print(); // Создаем цилиндр помощью коструктора с 2мя параметрами. Cylinder cylinder2 = new Cylinder(2, 3); Console.Write("Cylinder 2: "); cylinder2.print(); // Создаем цилиндр помощью коструктора с 4мя параметрами. Cylinder cylinder3 = new Cylinder(-3, 8, 2, 3); Console.Write("Cylinder 3: "); cylinder3.print(); // С помощью перегруженных операторов сравнения сравниваем цилиндры. Console.WriteLine("Cylinder 1 = Cylinder 2: {0}", cylinder1 == cylinder2); Console.WriteLine("Cylinder 1 = Cylinder 3: {0}", cylinder1 == cylinder3); Console.WriteLine("Cylinder 1 > Cylinder 2: {0}", cylinder1 > cylinder2); Console.WriteLine("Cylinder 1 < Cylinder 2: {0}", cylinder1 < cylinder2); Console.Read(); } } }
0
|
75 / 75 / 96
Регистрация: 29.09.2012
Сообщений: 232
|
||||||
30.05.2017, 18:15 | 4 | |||||
0
|
30.05.2017, 18:15 | |
Помогаю со студенческими работами здесь
4
Создать производный класс Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |