Перегрузка операторов для своего класса "строка" - C#

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

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

Есть класс. Храним строку как массив символов. Необходимо перегрузить операции, которые подходят сюда логически. Перегрузил несколько. Какие еще можно?
class MyString
    {
        public void String()
        {
            string a = "akldglkdflgkertert";
            char[] b = a.ToCharArray();
            string c = "lokfawerg";
            char[] d = c.ToCharArray();
        }
        public static MyString operator --(MyString a)
        {
            a--;
            return a;
        }
        public static MyString operator ++(MyString a)
        {
            a++;
            return a;
        }
        public static MyString operator +(MyString a,MyString c)
        {
            return   a + c;
        }
        public static MyString operator -(MyString a, MyString c)
        {
            return  a - c;
        }
        public static bool operator >(MyString a, MyString c)
        {
            if (a > c)
            {
                return true;
            }
            else
                return false;
        }
        public static bool operator <(MyString a, MyString c)
        {
            if (a < c)
            {
                return true;
            }
            else
                return false;
        }
        public static MyString operator *(MyString a, MyString c)
        {
            return a * c;
        }
        public static MyString operator /(MyString a, MyString c)
        {
            return a / c;
        }
        public static bool operator &(MyString a, MyString c)
        {
            if (a & c)
                return true;
            else
                return false;
        }
    }

Решение задачи: «Перегрузка операторов для своего класса "строка"»

textual
Листинг программы
class MyString
{
    string s;
    
    public MyString(string s)
    {
        this.s = s;
    }
    
    public static MyString operator +(MyString s1, MyString s2)
    {
        return new MyString(s1.s + s2.s);
    }
    
    public static bool operator >(MyString s1, MyString s2)
    {
        return string.Compare(s1.s,s2.s)>0;
    }
 
    public static bool operator <(MyString s1, MyString s2)
    {
        return string.Compare(s1.s,s2.s)<0;
    }
}

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


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

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

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