问题 填空题

有以下程序: #include<iostream> using namespace std; class Base { public: Base() { K=0; } int x; }; class Derivedl:virtual public Base { public: Derivedl() { x=10; } }; class Derived2:virtua1 public Base { public: Derived2() { x=20; } }; class Derived;public Derivedl,protected Derived2 { }; int main() { Derived obj; cout<<obj.x<<endl; return 0; } 该程序运行后的输出结果是______。

答案

参考答案:20。

解析: 本题中,虽然Derived1和Derived2由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derived1中修改,还是在类Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obi;”时,就会先调用虚基类Base的构造函数,使得x=0,然后执行类Derived1的构造函数使得x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。

材料分析题

背景资料:

青海湖以它的浩瀚、雄伟、秀丽、神奇而被誉为青海高原上的一颗璀璨的明珠,蕴藏着丰富的资源。三江源自然保护区由于是长江、黄河、澜沧江的发源地,三条江河每年可向下游供水600亿立方米,而被誉为“中华水塔”。但近年来,由于受全球气候等自然因素以及过度放牧、乱采滥挖、偷捕乱猎等人为因素的影响,导致青海湖、三江源区资源被破坏,生态环境不断恶化,生物多样性锐减。如青海湖水位下降,湟鱼资源日渐枯竭;三江源区森林、植被破坏等。保护三江源区脆弱的生态系统显得日益紧迫。第三届“环青海湖国际公路自行车赛”于2004年7月17日至25日举行。两届环湖赛的成功举办,广泛引起了国内外对青海湖和三江源自然生态、环境保护的关注和支持。本届环湖赛仍然把环境保护作为宣传的主题之一。某校抓住“环湖赛”契机,为了进一步增强学生的环保意识,决定开展“环湖赛与生活环境保护”宣传周活动。

在活动之前请你和你的同学们一起完成下列任务:

(1)青海湖和三江源严峻的生态形势对我们的警示:

_______________________________________________________________________________

(2)新世纪的每一位公民都有义务为节约资源和保护环境贡献一份力量。下面请你在相应内容的后面各写出一件力所能及的事情。

______________________________________________________________________________

①节约资源:__________________________________________________________________

②保护环境:__________________________________________________________________

在完成以上任务的基础上,请你设计下面的活动:

(3)为这次宣传周设计两个活动项目。(写出名称即可)

①____________________________________________________________________________

②____________________________________________________________________________

活动之后,请你建言献策:

(4)就如何保护青海湖和三江源的生态环境,提出一条合理化建议。

______________________________________________________________________________

单项选择题