Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
20 / 20 / 3
Регистрация: 21.03.2010
Сообщений: 221
1

Прегрузка операторов

23.10.2011, 21:48. Показов 623. Ответов 6
Метки нет (Все метки)

Возможно ли на С# сделать перегрузки, чтобы выполнялись следующие опрации :
String+String
String+”Text”
“Text”+String
String += “Text”
String += ‘c’
String==“Text”
String[ Pos]
Или это можно сделать только на С++?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2011, 21:48
Ответы с готовыми решениями:

Прегрузка операции - Найти сумму факториалов
Найти сумму факториалов. N<10; using System; using System.Collections.Generic; using...

Прегрузка функций
Предусмотрена ли она стандартом хотя бы для нескольких версий функции с разным числом параметров?

Прегрузка оператора "+" для массива строк
Добрый день, подскажите, как перегрузить оператор сложения двух массивов строк? (A+B) void...

Задача с использованием логических операторов и операторов ветвления
Вот вам задачка, чтоб голову поломать :D Вася работает программистом и получает 50$ за каждые...

6
6242 / 3543 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
23.10.2011, 22:13 2
А что тип string не поддерживает эти операции?
0
Эксперт .NET
15449 / 11712 / 3076
Регистрация: 17.09.2011
Сообщений: 19,603
23.10.2011, 22:15 3
Можно, да не нужно - эти операторы уже перегружены требуемым вами образом.
0
20 / 20 / 3
Регистрация: 21.03.2010
Сообщений: 221
23.10.2011, 22:23  [ТС] 4
Мне нужно самому сделать, а то что все и так работает, без перегрузок, я и так знаю.
0
6242 / 3543 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
23.10.2011, 22:43 5
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
public class Integer
{
    int val;
    public Integer(int num)
    {
        val = num;
    }
    public int Int
    {
        get
        {
            return val;
        }
        set
        {
            val = value;
        }
    }
    public static bool operator == (Integer a, Integer b)
    {
        return a.Int == b.Int;
    }
    public static bool operator !=(Integer a, Integer b)
    {
        return a.Int != a.Int;
    }
    public static bool operator <(Integer a, Integer b)
    {
        return a.Int < b.Int;
    }
    public static bool operator >(Integer a, Integer b)
    {
        return a.Int > b.Int;
    }
    public static bool operator <=(Integer a, Integer b)
    {
        return a.Int <= b.Int;
    }
    public static bool operator >=(Integer a, Integer b)
    {
        return a.Int >= b.Int;
    }
    public static Integer operator ++(Integer a)
    {
        return new Integer(a.Int + 1);
    }
    public static Integer operator --(Integer a)
    {
        return new Integer(a.Int - 1);
    }
    public static Integer operator +(Integer a, Integer b)
    {
        return new Integer(a.Int + b.Int);
    }
    public static Integer operator -(Integer a, Integer b)
    {
        return new Integer(a.Int - b.Int);
    }
    public static Integer operator *(Integer a, Integer b)
    {
        return new Integer(a.Int * b.Int);
    }
    public static Integer operator /(Integer a, Integer b)
    {
        return new Integer(a.Int / b.Int);
    }
    public static Integer operator %(Integer a, Integer b)
    {
        return new Integer(a.Int % b.Int);
    }
    public static implicit operator Integer(int val)
    {
        return new Integer(val);
    }
    public static implicit operator int(Integer i)
    {
        return i.Int;
    }
    public override string ToString()
    {
        return this.Int.ToString();
    }
}
 
class Program
{
    static void Main(string[] args)
    {
        Integer integer = new Integer(12);
        Console.WriteLine(integer);
        integer++;
        Console.WriteLine(integer);
        integer--;
        Console.WriteLine(integer);
        Integer b = integer * integer;
        
        Console.WriteLine(b);
        Integer r = 123;
        Console.WriteLine(r);
        Console.ReadKey(true);
    }
}
1
20 / 20 / 3
Регистрация: 21.03.2010
Сообщений: 221
24.10.2011, 21:30  [ТС] 6
Если я правильно понял, то здесь перегрузки для целых чисел? А мне нужно для Sting и Char.
0
В астрале
Эксперт С++
8035 / 4792 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.10.2011, 21:32 7
&Alex&, А переделать слабо?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2011, 21:32

Требуется разработать две программы (или одну с двумя циклами) с использованием операторов повтора (циклических операторов) WHILE и REPEAT
расчитать \sum_{\propto }^{n=1}{-1}^{n}\frac{1}{n(2n+1)} c точностью \alpha 0,001 Нужно...

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в...

Перегрузка операторов
Здравствуйте, помогите найти в коде перегрузку оператора. ConsoleApplication1 #include...

Перегрузка операторов
Нужно для класса комплексных чисел перегрузить операторы. Односимвольные определить как...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.