首 页最新软件下载排行文章资讯投稿发布下载专题
维维下载站
您的位置:首页编程开发网络编程编程其它 → C# 类声明可以包含哪些内容

C# 类声明可以包含哪些内容

来源:维维整理 发布时间:2010-11-30 8:08:00 人气:

C# 类声明可以包含哪些内容,当有一个集合的值属于且只属于类本身的时候,可以使用索引器。当然了,这种机制也可以使用属性返回集合(或数组),或方法返回集合(或数组)来代替。索引器只是为了操作方便,以及使者一组值只属于类本身而设计的。

1、方法名必须相同 
2、参数列表必须不相同,与参数列表顺序无关 
3、返回值类型可以不同 
定义:类中两个以上的方法,取得名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下调用那个方法,这就叫做方法的重载!

运算符重载就是赋予已有的运算符多重含义。C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C++语言的扩充能力。 运算符重载的几个问题

1. 运算符重载的作用是什么? 它允许你为类的用户提供一个直觉的接口。 运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。重载的运算符是函数调用的语法修饰: class Fred{public:// ...}; #if 0// 没有算符重载:Fred add(Fred, Fred);Fred mul(Fred, Fred); Fred f(Fred a, Fred b, Fred c){return add(add(mul(a,b), mul(b,c)), mul(c,a)); // 哈哈,多可笑...}#else// 有算符重载:Fred operator+ (Fred, Fred);Fred operator* (Fred, Fred); Fred f(Fred a, Fred b, Fred c){return a*b + b*c + c*a;}#endif

2. 算符重载的好处是什么? 通过重载类上的标准算符,你能够发掘类的用户的直觉。使得用户程序所用的语言是面向问题的,而不是面向机器的。 最终目标是降低学习曲线并减少错误率。

3. 哪些运算符可以用作重载? 几乎所有的运算符都可用作重载。具体包含: 算术运算符:+,-,*,/,%,++,--; 位操作运算符:&,|,~,^,<<,>> 逻辑运算符:!,&&,||; 比较运算符:<,>,>=,<=,==,!=; 赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=; 其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。 下列运算符不允许重载: .,.*,::,?:

4. 运算符重载后,优先级和结合性怎么办? 用户重载新定义运算符而不改变原始运算符的优先级和关联性。这意味着运算符重载不会改变运算符的优先级和关联性,运算符在重载后不会更改运算符的语法结构。也就是说,一元运算符只能与一元运算符重载。二进制操作只能重载双目操作符。

相关下载
栏目导航
本类热门阅览