【问题标题】:Adding a number to a variable with overloaded operator使用重载运算符向变量添加数字
【发布时间】:2019-10-30 17:12:48
【问题描述】:

在main中,我需要在显示Kandydat的所有参数后将int dodatkowaWartosc添加到变量liczbaGlosow,所以首先它显示一些liczbaGlosow,然后显示添加了dodatkowaWartosc的新值,但我不知道找出如何使用重载运算符来做到这一点,我必须用它们来做到这一点。

class Kandydat
    {
        private string imie, nazwisko, miejscowosc, wyksztalcenie;
        public int liczbaGlosow { get; set; }

        public Kandydat(string imie, string nazwisko, string miejscowosc, string wyksztalcenie, int liczbaGlosow)
        {
            this.imie = imie;
            this.nazwisko = nazwisko;
            this.miejscowosc = miejscowosc;
            this.wyksztalcenie = wyksztalcenie;
            this.liczbaGlosow = liczbaGlosow;         
        }

        public void PokazKandydata()
        {
            Console.WriteLine("{0} {1} z {2}, wykształcenie {3}. Liczba głosów: {4}.", imie, nazwisko, miejscowosc, wyksztalcenie, liczbaGlosow); 
        }


        public static Kandydat operator +(Kandydat liczbaGlosow, int dodatkowaWartosc)
        {
            return new Kandydat.liczbaGlosow + dodatkowaWartosc;
        }

【问题讨论】:

  • 嗨@Wurfv_,您能否编辑您的问题并添加此运算符的预期用法示例?谢谢。

标签: c# operator-overloading


【解决方案1】:

别忘了这不会改变第一个Kandyat

var k = new Kandyat(...);
k.liczbaGlosow = 1
var l = k + 2;

//  k.liczbaGlosow is still 1
//  l is a new, different instance of Kandyat, and l.liczbaGlosow == 3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 2013-05-15
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    相关资源
    最近更新 更多