Как создать перегрузку для оператора "%"? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Подскажите как создать перегрузку для оператора %. Нужно чтобы вместо деления по модулю он просто находил процент числа. Например 20%10 вернул бы 5. Есть какие-то наброски, явно бредовые, так что вот:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Procent q = new Procent(20, 10);
            double w = q.pr % q.ch;
            Console.WriteLine(w);
            Console.Read();
        }
    }
 
    class Procent
    {
        public int pr;
        public int ch;
        public Procent(int procent, int chislo)  
        {
            pr = procent;
            ch = chislo;
        }
        public static Procent operator % (Procent a, Procent b)
        {
            return new Procent(a.pr / 100 * b.ch, ?????);
        }
    }
}

Решение задачи: «Как создать перегрузку для оператора "%"?»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
            Procent q = new Procent(20);
            double w = 10 % q;
            Console.WriteLine(w);
            Console.Read();
        }
    }
 
    class Procent
    {
        public int Proc { get; set; }
    
        public Procent(int procent)
        {
            Proc = procent;
        }
        public static double operator %(double a, Procent b)
        {
            return a * (b.Proc / 100d);
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы