2014年3月10日

[C#] 小记 new 和 override 关键字

摘要: C#要想实现函数的override,要求和C++一样,父类的函数必须用virtual关键字注明,随后在子类中用override关键字表明重写的函数。子类同名函数定义时,如果什么都不写,或者使用new 关键字,效果都表示父类的同名函数将被隐藏。也就是说,子类有子类的函数,父类有父类的函数,井水不犯河水... 阅读全文

posted @ 2014-03-10 09:34 Felix Fang 阅读(364) 评论(0) 推荐(0) 编辑

面试题 46(*),求1+2+..+n (巧妙使用函数指针和面向对象思想,amazing)

摘要: 很苛刻的条件。我自己一开始想从等差数列公式n*(n+1)/2 入手,/2可以用 >>1表示,但是n*(n+1)怎么求真是伤透了脑筋。虽然可以用递归,但是递归也是有返回判断的,这里判断语句都被禁止了。看了答案才知道原来还可以这样玩。。。要学会灵活的运用面向对象和函数指针啊亲。解法一:利用 new 一个n元素的数组代替了循环的功能。如果不用公式,仅仅累加来做,那么最难的地方自然就是如何绕过循环了。解法一非常巧妙地利用了构造函数和static成员来解决这个问题。class Temp的static成员Sum用来保存累加结果,N用来自增,这样不论有多少instance,他们都共享一个stat 阅读全文

posted @ 2014-03-10 01:56 Felix Fang 阅读(397) 评论(0) 推荐(0) 编辑

导航