定义一个学生类,数据成员包括学号、姓名、成绩,重载运算符“<<”和“>>”,实现学生类对象的直接输入和输出。
“<<”和“>>”是二元运算符,第二个参数不知道该在本题中起到什么作用,请帮忙看一下该代码如何写比较好?
“<<”和“>>”是二元运算符,第二个参数不知道该在本题中起到什么作用,请帮忙看一下该代码如何写比较好?
解决方案 »
- 微软的StringBuilder类是怎么写的,如果自己写一个同样的类StringBuilderTest该怎么写?
- 避免在一台机器上同时运行一应用程序的多个实例
- C#串口通信,在读取的时候慢
- 导出Excel文件格式的问题:(因这里不能上图)
- 有没有网页美工啊,进来看看
- winform 右下角弹窗时皮肤加载问题
- 大量数据时 用一个datatable中的某数据更新另一datatable效率问题
- 新手求助!如何更改一个dataset中的datatable的名称
- 不知道是优化了哪些服务,导致Visual Studio2005一遇到调试错误就自动关闭调试,有没有朋友能解决呢?
- 正则表达式
- 用VS打包C#详过程
- c# Process.Start()问题
// cs_keyword_operator.cs
using System;
class Fraction
{
int num, den;
public Fraction(int num, int den)
{
this.num = num;
this.den = den;
} // overload operator +
public static Fraction operator +(Fraction a, Fraction b)
{
return new Fraction(a.num * b.den + b.num * a.den,
a.den * b.den);
} // overload operator *
public static Fraction operator *(Fraction a, Fraction b)
{
return new Fraction(a.num * b.num, a.den * b.den);
} // user-defined conversion from Fraction to double
public static implicit operator double(Fraction f)
{
return (double)f.num / f.den;
}
}class Test
{
static void Main()
{
Fraction a = new Fraction(1, 2);
Fraction b = new Fraction(3, 7);
Fraction c = new Fraction(2, 3);
Console.WriteLine((double)(a * b + c));
}
}换一下就可以了。
using System;
class Fraction
{
int num, den;
public Fraction(int num, int den)
{
this.num = num;
this.den = den;
} // overload operator +
public static Fraction operator +(Fraction a, Fraction b)
{
return new Fraction(a.num * b.den + b.num * a.den,
a.den * b.den);
} // overload operator *
public static Fraction operator *(Fraction a, Fraction b)
{
return new Fraction(a.num * b.num, a.den * b.den);
} // user-defined conversion from Fraction to double
public static implicit operator double(Fraction f)
{
return (double)f.num / f.den;
}
}class Test
{
static void Main()
{
Fraction a = new Fraction(1, 2);
Fraction b = new Fraction(3, 7);
Fraction c = new Fraction(2, 3);
Console.WriteLine((double)(a * b + c));
}
}
不hoarse把·
如果是初始化和显示的话,new Stduent{.学号=xx, .姓名=xx, .成绩=xx} 和实现ToString不就可以了么?
如果是类似与一个班级,增加减少学生的概念,用集合就可以了呀
c#跟c++是不一样的。可以看msdn:http://msdn.microsoft.com/en-us/library/5y82h021.aspx因此除非假设那本书的作者不懂c#,否则真没有办法解释这个问题。可以胡乱写一个public class Student
{
public string Name; static public Student operator >>(Student s, int m)
{
for (int i = 0; i < m; i++)
Console.WriteLine("student {0}.", s.Name);
return s;
}
}