Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Nataha

Операции класса, индексаторы Rectangle

10.11.2009, 15:59. Показов 3017. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам


Здравствуйте. Пожалуйста помогите решить задачу.
Задание: В класс Rectangle добавить:
а. Индексатор, позволяющий по индексу 0 обращаться к полю а,
по индексу 1 - к полю b, при других значениях индекса выдается сообщение об ошибке.
b. Перегрузку:
1. операции ++(--): одновременно увеличивает (уменьшает) значение полей a и b;
2. констант true и false: обращение к экземпляру класса дает значение true, если
прямоугольник с заданными длинами сторон является квадратом, иначе false;
3. операции *: одновременно домножает поля a и b на скаляр;
4. преобразования типа Rectangle в string (и наоборот).
Решение писать в программе Visual Studia (C#? C++).
Заранее. Огромное Спасибо.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2009, 15:59
Ответы с готовыми решениями:

Как из класса добавить rectangle в canvas
Добрый день, есть окно wpf mainwindow на нем canvas, есть класс class1 как из class1 добавить rectangle в canvas?

Перегруженные операции и индексаторы
Привет всем! Проблема такова. Задали контрольную, в консоли создать абстрактный класс с методами, контрольная выполнена. Но преподаватель...

Индексаторы для разных членов класса
Добрый день. У меня есть некоторый класс(назовём его class A), в котором определены два поля массива, которые, в свою очередь, так же...

4
29 / 27 / 3
Регистрация: 02.11.2009
Сообщений: 26
10.11.2009, 23:36
4. преобразования типа Rectangle в string (и наоборот).
Что должна представлять из себя строка ? Значения сторон, типа "a = 5, b = 6" или что-то другое?

Добавлено через 27 минут
В общем, вот класс, со всеми выполненными пунктами, кроме b.4 :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace RectangleClass
{
    public class Rectangle
    {
        int a, b;
        //Конструкторы
        public Rectangle() 
        {
            a = b = 0;
        }
        public Rectangle(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
        //Вывод значений сторон a и b (для тестирования работы класса)
        public void Show()
        {
            Console.WriteLine("a = {0}, b = {1}", this.a, this.b);
        }
        //a. Индексатор
        public int this[int index]
        {
            get
            {
                if (index == 0) return this.a;
                else if (index == 1) return this.b;
                else return -1;
            }
            set
            {
                if (index == 0) this.a = value;
                else if (index == 1) this.b = value;
            }
        }
        //b.1 Перегрузка операторов инкремента и декремента
        public static Rectangle operator ++(Rectangle ob)
        {
            ob.a++;
            ob.b++;
            return ob;
        }
        public static Rectangle operator --(Rectangle ob)
        {
            ob.a--;
            ob.b--;
            return ob;
        }
        //b.2 Перегрузка констант true и false
        public static bool operator true(Rectangle ob)
        {
            return (ob.a == ob.b) ? true : false;
        }
        public static bool operator false(Rectangle ob)
        {
            return (ob.a != ob.b) ? true : false;
        }
        //b.3 Перегрузка операторов умножения Rectangle на скаляр
        public static Rectangle operator *(Rectangle ob, int i)
        {
            ob.a *= i;
            ob.b *= i;
            return ob;
        }
        public static Rectangle operator *(int i, Rectangle ob)
        {
            return (ob * i);
        }
    }
}
2
 Аватар для moryak19845
1 / 1 / 0
Регистрация: 20.01.2010
Сообщений: 5
20.01.2010, 17:57
Подскажите, пожалуйста, Как обратиться из тела программы к перегрузке констант true и false
0
мну довольно <(-__-)l
 Аватар для gGrn-7DA
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
20.01.2010, 21:06
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//......
Rectangle x = new Rectangle(4,4);
Rectangle y =  new Rectangle(3,4);
Console.Write("x ");
if(x)
    Console.WriteLine("квадрат");
else
    Console.WriteLine("не квадрат");
Console.Write("y ");
if(y)
    Console.WriteLine("квадрат");
else
    Console.WriteLine("не квадрат");
//...
в результате увидешь:
х квадрат
у не квадрат
1
0 / 0 / 1
Регистрация: 26.10.2010
Сообщений: 26
19.03.2011, 14:47
Sherbatski можно ли дополнить данный код до работоспособности.... не понятно как это все стыкуется в мэйне....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.03.2011, 14:47
Помогаю со студенческими работами здесь

Определение пользовательских методов класса. Массивы. Индексаторы.
О_о Задание : Создайте проект, в котором опишите класс для решения задачи Вашего варианта. Каждый разрабатываемый класс должен...

Создать класс Rectangle, разработав следующие элементы класса
Создать класс Rectangle, разработав следующие элементы класса: Поля: -int a, b; Конструктор, позволяющий создать экземпляр класса с...

Создать класс Rectangle, разработав следующие элементы класса:
Ребятушки, помогите пожалуйста((( Очень срочно нужно, завтра уже сдавать, а я что-то туплю....(( Вот тема: . Создать класс...

Создать класс Rectangle, содержащий следующие члены класса
VS 2010. Компилятор выдает ошибки, Предложение using должно предшествовать любым другим элементам пространства имен кроме объявлений...

Нужно реализовать наследование классом Squre методов класса Rectangle
нужно реализовать наследование классом Squre методов класса Rectangle class Square { private int _xPos; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru