Перегрузка оператора false и -- - C#
Формулировка задачи:
Здравствуйте!
Посмотрите пожалуйста, правильно ли я переопределяю оператор false и -- т.к. во время проверки оператора -- число уменьшается на 1 а не на 55.
Подскажите что делаю не так, заранее, я новичок если что
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // инициализируем классы B arrB1 = new B(5.9f); B arrB2 = new B(11.44f); B arrBfalse = new B(false); // Проверяем на равенство if (arrBfalse._bool) System.Console.WriteLine("true"); else System.Console.WriteLine("false"); System.Console.WriteLine("arrB1.d = {0}", arrB1.d); System.Console.WriteLine("arrB1.d-- = {0}", --arrB1.d); // Вызов функции через интерфейс IPrfloatMessage System.Console.WriteLine("Вызов функции через интерфейс IPrfloatMessage:"); IPrfloatMessage iarrB = new B(45.54f); iarrB.PrfloatMessage(); // Вызов функции через интерфейс IBPrfloatMessage System.Console.WriteLine("Вызов функции через интерфейс IBPrfloatMessage:"); IBPrfloatMessage iarrB2 = new B(1.1f); iarrB2.BPrfloatMessage(); Console.ReadLine(); } } public interface IPrfloatMessage { // Определяем набор абстрактных методов void PrfloatMessage(); } public interface IBPrfloatMessage { // Определяем набор абстрактных методов void BPrfloatMessage(); } // объявляем класс и наследуем интерфейс IPrfloatMessage class A : IPrfloatMessage { private float a; private float b; private float _c; public float c { get { _c = a; _c += a * b; _c += b; return ++_c; } } public bool _a { get { return a == b; } } public A() { a = 5.6f; b = 3.4f; } // функция вывода сообщения public void PrfloatMessage() { Console.WriteLine("Данное сообщение - результат работы функции PrfloatMessage()"); } } // объявляем класс B который наследует класс A и другой интерфейс IBPrfloatMessage class B : A, IBPrfloatMessage { public bool _bool; public float d; public float c2 { get { return d; } } public B(float v) { d += v + c; } public B(bool _bool) { this._bool = _bool; } // оператор false public static bool operator false(B c) { return c._bool; } // оператор true public static bool operator true(B c) { return c._bool; } // оператор -- public static B operator --(B c) { return new B(c.d - 55); } // функция выводит сообщение public void BPrfloatMessage() { Console.WriteLine("Данное сообщение - результат работы функции BPrfloatMessage()"); } } }
Решение задачи: «Перегрузка оператора false и --»
textual
Листинг программы
// оператор -- public static B operator --(B c) { c.d -= 2; return c; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д