Перегрузка операторов для своего класса "строка" - 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д