欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

复数(重载运算符、重写ToString),运算符tostring

来源: javaer 分享于  点击 20506 次 点评:153

复数(重载运算符、重写ToString),运算符tostring


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication9
{
    //定义一个复数结构
    public struct Complex
    {
        public string complexstr;
        private int real;
        private int imaginary;
        //结构中只可以定义带参数的构造函数,且若有此构造函数又有字段,并须在结构中赋值
        public Complex(int r, int i)
        {
            this.real = r;
            this.imaginary = i;
            this.complexstr = "complex";            
        }

       //重载加号运算符
        public static Complex operator +(Complex c1,Complex c2)
        {                        
            return new Complex(c1.real + c2.real,c1.imaginary + c2.imaginary);
        }

        //重写结构Complex的ToString()方法
        public override string ToString()
        {
            return (System.String.Format("{0} + {1}i", real, imaginary));
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            Complex c1 = new Complex(1, 2);
            Complex c2 = new Complex(3, 4);
            //自动判断操作数类型,选择相应的重载函数
            Complex sum = c1 + c2;
            int intsum = 2 + 2;

            Console.WriteLine("c1:{0}", c1);
            Console.WriteLine("c2:{0}", c2);
            //结构Complex重写了ToString()方法
            Console.WriteLine("Complex-sum:{0}", sum);
            //类Program没有重写ToString()方法,所以以字符串形式输出
            Console.WriteLine("ProgramToString:{0}", p);
            Console.WriteLine("Complex.complexstr:{0}",sum.complexstr);
            Console.WriteLine(intsum);

            Console.ReadLine();
        }
    }
}

结果:

c1:1 + 2i
c2:3 + 4i
Complex-sum:4 + 6i
ProgramToString:ConsoleApplication9.Program
Complex.complexstr:complex
4


相关文章

    暂无相关文章

用户点评