问题 单项选择题

有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public:static int i;int value( ){ return i-l;}int value( )const { return i+1;} }; int Fun::i=2; int main( ){int i=3;Fun funl;const Fun fun2; ___________return 0; } 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是

A.cout<<funvalue( )<<Fun::i<<fun2.value( );

B.cout<<Fun::i<<funvalue()<<fun2.value( );

C.cout<<funvalue( )<<fun2.value( )<<Fun::i;

D.cout<<fun2.value( )<<Fun::i<<fun1.value( );

答案

参考答案:A

解析: 本题主要考查的是常成员函数。const关键字可以用于参与对重载函数的区分。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。当类中只有一个常成员函数时,一般对象也可以调用该常成员函数。由此可见,通过fun1调用value()函数时,是调用前一个,而通过fun2调用value()函数,是调用后一个。另外,value()函数中访问的i是类中定义的数据成员i,全局变量i在类中被“屏蔽”。观察4个选项不难发现,要输出的表达式来来去去只有3个:fun1.value()、fun2.value()和Fun::i。fun1.value()调用的是前一个value()函数,输出i-1,这里的i是Fun类的成员i,即等于2-1=1。fun2.value()调用的后一个value()函数,输出i+1=2+1=3。 Fun::i是通过类名直接访问类的静态数据成员i的值,即2。所以正确的输出顺序应该是:fun1.value(),Fun::i,fun2.value()。故应该选择A。

阅读理解与欣赏

阅读《艰难国运与雄健的国民》,完成问题。

  历史的道路,不全是平坦的,有时走到艰难险阻的境界,这是全靠雄健的精神才能够冲过去的。

  一条浩浩荡荡的长江大河,有时流到很宽阔的境界,平原无际,一泻万里。有时流到很逼狭的境界,两岸丛山叠岭,绝壁断崖,江河流于其间,回环曲折,极其险峻。民族生命的进程,其经历亦复如是。

  人类在历史上的生活正如旅行一样。旅途上的征人所经过的地方,有时是坦荡平原,有时是崎岖险路。老于旅途的人,走到平坦的地方,固是高高兴兴地向前走,走到崎岖的境界愈是奇趣横生,觉得在此奇绝壮绝的境界,愈能感到一种冒险的美趣。

  中 * * 现在所逢的史路,是一段崎岖险阻的道路。在这一段道路上,实在亦有一种奇绝壮绝的景致,使我们经过此段道路的人,感到一种壮美的趣味。但这种壮美的趣味,没有雄健的精神是不能够感觉到的。

  我们的扬子江、黄河,可以代表我们的民族精神,扬子江及黄河遇见沙漠、遇见山峡都浩浩荡荡地往前流过去,以成其浊流滚滚、一泻万里的魄势。目前的艰难境界,哪能阻抑我们民族生命的前进?我们应该拿出雄健的精神,高唱着进行的曲调,在这悲壮歌声中,走过这崎岖险阻的道路。要知在艰难的国运中建造国家,亦是人生最有趣味的事……

1.给下列加粗字注音。

(   )岖(   )险(   )势(   )

2.文中用了很多的比喻来说理,根据自己的理解完成下列题目。

(1)用“长江大河”比喻_____________________

(2)用“扬子江、黄河”比喻_________________

3.结合自己的理解,说说文中提倡的“雄健的精神”有怎样的内涵。

_____________________________________________

4.“艰难的国运”与“雄健的国民”能互换位置吗?请说明理由。

_____________________________________________

单项选择题