1、全国计算机等级考试二级 C+真题 2009年 3月及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构2.支持子程序调用的数据结构是(分数:2.00)A.栈B.树C.队列D.二叉树3.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是(分数:2.00)A.10B.8C.6D.44.下列排序方法中,最坏情况下比较次数最少的是(分数:2.00)A.冒泡排序B.
2、简单选择排序C.直接插入排序D.堆排序5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(分数:2.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序6.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指
3、一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度8.数据库应用系统中的核心问题是(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训9.有两个关系 R,S 如下: (分数:2.00)A.选择B.投影C.插入D.连接10.将 E-R图转换为关系模式时,实体和联系都可以表示为(分数:2.00)A.属性B.键C.关系D.域11.对 C+编译器区分重载函数无任何意义的信息是(分数:2.00)A.参数类型B.参数个数C.返回值类型D.常成员函数关键字 const12.有如下类定义和变量定义: class A public: A( ) data
4、=0;) A( ) int GetData( ) const return data; void SetData(int n) data=n; private: int data; ; const A a; A b; 下列函数调用中错误的是(分数:2.00)A.GetData( );B.SetData(10);C.GetData( );D.SetData(10);13.有如下类定义和变量定义: class Parents public: int publicData; private: int privateData; ;class ChildA:public Parents/*类体略*/;
5、class ChildB:private Parents/*类体略*/; ChildA a; ChildB b; 下列语句中正确的是(分数:2.00)A.coutpublicDataendl;B.coutprivateDataendl;C.coutpublicDataendl;D.coutprivateDataendl;14.运算符重载不需要保持的性质是(分数:2.00)A.操作数个数B.操作数类型C.优先级D.结合性15.下列关于函数模板的描述中,错误的是(分数:2.00)A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能
6、省略C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D.模板参数表不能为空16.要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是(分数:2.00)A.ifstream fin=ifstreaopen(“fildat“);B.ifstream*fin=new ifstream(“fildat“):C.ifstream fin;fiopen(“fildat“);D.ifstream*fin=new ifstream( );fin-open(“fildat“);17.下列描述中,不属于面向对象思想主要特征的是(分数:2.00)A.封装性B.跨平台性C.
7、继承性D.多态性18.有如下程序段: int i=4;int j=l; int main( ) int i=8,j=i; coutijendl; 运行时输出结果是(分数:2.00)A.44B.41C.88D.8119.有如下程序段: int i=5; while(int i=0) cout*;i- -;) 运行时输出“*”的个数是(分数:2.00)A.0B.1C.5D.无穷20.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.00)A.a2=“WIN“B.strcpy(a2,“WIN“)C.a23=WD.a01=a0121.已知函数 fun的原型为 int fun(int,
8、int,int); 下列重载函数原型中错误的是(分数:2.00)A.char fun(int,in;B.double fun(int,int,doubl;C.int fun(int,char*);D.float fun(int,int,in;22.建立一个类对象时,系统自动调用(分数:2.00)A.析构函数B.构造函数C.静态函数D.友元函数23.通过派生类的对象可直接访问其(分数:2.00)A.公有继承基类的公有成员B.公有继承基类的私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员24.已知表达式+a 中的“+”是作为成员函数重载的运算符,则与+a 等效的运算符函数调用形式为(分
9、数:2.00)A.operator+(1)B.operator+(C.operator+(a,1)D.operator+( )25.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是(分数:2.00)A.( )B. C.D. 26.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(分数:2.00)A.ios_base:inB.ios_base:in|ios_base:outC.ios_base:outD.ios_base:in class XCD char*a; int b; public: XCD(char*aa,int bb) a=new
10、 charstrlen(aa)+1; strcpy(a,aa); b=bb; char*Geta( ) returri 3; int Getb( ) return b;) ; int main( ) char*p1=“abcd“,*p2=“weirong“; int dl=6,d2=8; XCD x(p1,d1),y(p2,d2); coutstrlen(x.Geta( )+y.Getb( )endl; return 0; 运行时的输出结果是(分数:2.00)A.12B.16C.14D.1128.有如下程序: #includeiostream #includecstring using nam
11、espace std; class XCF int a; public: XCF(int aa=0):a(aa) cout“1“; XCF(XCFcout“2“;) XCF( ) couta; int Geta( ) return a; ; int main( ) XCF d1(5),d2(d1); XCF*pd=new XCF(8); coutpd-Geta( ); delete pd; return 0; 运行时的输出结果是(分数:2.00)A.1215588B.1218855C.12185D.12851229.已知类 MyClass声明如下: class MyClass int n; p
12、ublic: MyClass(int k):n(k) int getValue( )constreturn n; ; 在下列数组定义中正确的是(分数:2.00)A.MyClass x12;B.MyClass x22= new MyClass(1),new MyClass(2);C.MyClass*x32;D.MyClass*x42= MyClass(1),MyClass(2);30.有如下程序: #includeiostream using namespace std; class AA int k; protected: int n; void setK(int k) this-k=k; p
13、ublic: void setN(int n)this-n=n; ; class BB:public AA/*类体略*/; int main( ) BB x; x.n=1; /1 x.setN(2); /2 x.k=3; /3 x.setK(4); /4 return 0; 在标注号码的四条语句中正确的是(分数:2.00)A.1B.2C.3D.431.有如下类定义: class XX int xx; public: XX( ):xx(0) coutA; XX(int n):xx(n) coutB;) ; class YY:public XX int yy; public: YY( ):yy(0
14、) coutyy; YY(int n):XX(n+1),YY(n) coutyy; YY(int m,int n):XX(m),YY(n)coutyy; ; 下列选项中,输出结果为 A0的语句是(分数:2.00)A.YY y1(0,0);B.YY y2(1);C.YY y3(0);D.YY y4;32.有如下程序: #includeiostream using namespace std; class A public: virtual void f( ) cout1; void g( ) cout2; ; class B: public A public: virtual void f( )
15、 cout3; void g( ) cout4; ; void show(A a.g( ); int main( ) B b; show(b): return 0; 运行时的输出结果是(分数:2.00)A.12B.34C.14D.3233.有如下程序: #includeiostream using namespace std; class Pair int m; int n; public: Pair(int i,int j): m(i),n(j) bool operator(Pair p)const; /须在类体外给出定义 ; int main( ) Pair p1(3,4),p2(4,3)
16、,p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数 operator的功能是比较两个 Pair对象的大小,当左边对象大时,返回 true,否则返回 false。比较规则是首先比较两对象的 m成员,m 大者为大;当 m相等时比较 n,n 大者为大。程序输出 0101,下列对运算符重载函数的正确定义是(分数:2.00)A.bool Pair:operator(Pair const if(m! =return mm; return nn;B.bool Pair:operator(Pair if(m! = return mm; return
17、nn;C.bool Pair:operator(Pair const if(m return true; return nn;D.bool Pair:operator(Pair if(m return true; return nn;34.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是(分数:2.00)A.coutsetfill(*)123setw(9)321;B.coutsetfill(*)setw(6)left123setw(6)right321;C.cout123setfill(*)setw(6)321;D.coutsetfill(*)setw(9)
18、left123321;35.有如下程序: #includeiostream using namespace std; class ONE int c; public: ONE( ):c(0) cout1; ONE(int n):c(n) cout2; ; class TWO ONE one1; ONE one2; public: TWO(int m):one2(m) cout3; ; int main( ) TWO t(4); return 0; 运行时的输出结果是(分数:2.00)A.3B.23C.123D.213二、B填空题/B(总题数:15,分数:30.00)36.假设用一个长度为 50
19、的数组(数组元素的下标从 0到 49)作为栈的存储空间,栈底指针 bottom指向栈底元素,栈顶指针 top指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有 1 个元素。(分数:2.00)填空项 1:_37.软件测试可分为白盒测试和黑盒测试。基本路径测试属于 1 测试。(分数:2.00)填空项 1:_38.符合结构化原则的三种基本控制结构是:选择结构、循环结构和 1。(分数:2.00)填空项 1:_39.数据库系统的核心是 1。(分数:2.00)填空项 1:_40.在 E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是 1 框。(分数:2.00)填空项
20、 1:_41.有如下程序段: int x=1,y=2,z=3; x=xz; y=yz; z=xy; coutxyz; 执行这个程序段的输出是_。(分数:2.00)填空项 1:_42.有如下程序段: for(int i=1;i=50;i+) if(i%3 1=0) continue; else if(i%5 1=0) continue; couti“,“; 执行这个程序段的输出是_。(分数:2.00)填空项 1:_43.有如下程序段: char c20=“examination“; c4=0; coutcendl; 执行这个程序段的输出是_。(分数:2.00)填空项 1:_44.下面的函数利用递
21、归实现了求 1+2+3+n的功能: int sum(int n) if(n= =0) return 0; else return n+sum(n-1); 在执行 sum(10)的过程中,递归调用 sum函数的次数是_。(分数:2.00)填空项 1:_45.非成员函数应该声明为类的 1 函数才能访问该类的私有成员。(分数:2.00)填空项 1:_46.有如下程序: #includeiostream using namespace std; class Monitor public: Monitor(char t):type(t) void Print( )const cout“The type
22、of monitor is“typeendl;) private: char type: ; class Computer public: Coinputer(int i,char c):_ void Print( )const cout“The computer is“idendl;mon.Print( ); private: int id; Monitor mon; ; int main( ) const Computer myComputer(101,B); myComputer.Print( ); return 0; 请将程序补充完整,使程序在运行时输出: The computer i
23、s 101 The type of monitor is B(分数:2.00)填空项 1:_47.有如下程序: #includeiostream using namespace std; class Animal public: virtual char*getType( )const return “Animal“; virtual char*getVoice( )const return “Voice“;) ; class Dog: public Animal public: char*getType( )constreturn “Dog“;) char*getVoice( )constr
24、eturn “Woof“; ; void type(Animal void sDeak(Animal a) couta.getVoice( ); int main( ) Dog d;type(d);cout“speak“;speak(d);coutendl; return 0; 运行时的输出结果是_。(分数:2.00)填空项 1:_48.补充完整下面的类定义: const double PI=3.14; class circle /圆形物体的抽象基类 protected: double r; /半径 public: Circle(double radius=0):r(radius) _; /计
25、算圆形物体表面积的纯虚函数声明 ; class Cylinder: public Circle /圆柱体类 double h;/高度 public: Cylinder(double radius=0,double height=0): Circle(radius),h(height) virtual double Area( ) /计算圆柱体的表面积 return 2*PI*r*(r+h); ;(分数:2.00)填空项 1:_49.补充完整下面的类定义: class XCH char*a; public: XCH(char*aa) /构造函数 a=new charstrlen(aa)+1; s
26、trcpy(a,aa); XCH a=new charstrlen(x,a)+1; strcpy(a,x,a); _; XCH( )deletea;) (分数:2.00)填空项 1:_50.补充完整下面的模板定义: templateclass Type /Type 为类型参数 class Xtwo /由两个Type类型的数据成员构成的模板类 Type a; Type b; public: Xtwo(Type aa=0,Type bb=0):a(aa),b(bb) int Compare( ) /比较 a和 b的大小) if(ab) return 1; else if(a= =b) return
27、 0; else return -1; Type Sum( )return a+b;)/返回 a和 b之和 Type Mult( ); /函数声明,返回 a和 b之乘积 ; templateclass Type _:Mult( ) return a*b;/Mult 函数的类外定义(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2009年 3月答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表
28、既可以采用顺序存储结构,也可以采用链式存储结构 解析:解析 栈是“先进后出”的线性表,而队列是“先进先出”的线性表。循环队列是一种特殊类型的队列,属于线性结构。只有 D选项的说法是正确的。2.支持子程序调用的数据结构是(分数:2.00)A.栈 B.树C.队列D.二叉树解析:解析 由子程序调用的过程可知每次子程序运行结束后都将返回至调用它的程序中。而存储其调用地址的数据结构须具备“先进后出”的功能,而栈结构正具备此类特点。3.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是(分数:2.00)A.10B.8C.6 D.4解析:解析 由二叉树的基本性质 3:在任意一棵二叉树中,度为 0的结
29、点(即叶子结点)总比度为 2的结点多一个。可知,此二叉树的叶子结点个数为 5+1=6个。4.下列排序方法中,最坏情况下比较次数最少的是(分数:2.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序 解析:解析 在最坏情况下,冒泡排序和简单选择排序需要比较 n(n-1)/2次,而堆排序的比较次数为 O(nlog2n)。5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(分数:2.00)A.编译程序B.操作系统C.教务管理系统 D.汇编程序解析:解析 编译程序、操作系统和汇编程序都属于系统软件。而只有教务管理系统是为解决特定领域的应用而开发的软件,属
30、于应用软件的范畴。6.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性解析:解析 软件测试的目的是为了发现错误,而改正错误属于程序调试的范畴。7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度解析:解析 内聚性是一个
31、模块内部各个元素间彼此结合的紧密程度的度量。耦合性是模块间互相连接的紧密程度的度量。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。8.数据库应用系统中的核心问题是(分数:2.00)A.数据库设计 B.数据库系统设计C.数据库维护D.数据库管理员培训解析:解析 在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计(Database design)。9.有两个关系 R,S 如下: (分数:2.00)A.选择B.投影 C.插入D.连接解析:解析 由题目中关系 S是由关系 R中的某些列所组成
32、的关系,可知关系 S是由关系 R经过投影运算得来的。10.将 E-R图转换为关系模式时,实体和联系都可以表示为(分数:2.00)A.属性B.键C.关系 D.域解析:解析 从 E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。实体集也可以转换成关系。11.对 C+编译器区分重载函数无任何意义的信息是(分数:2.00)A.参数类型B.参数个数C.返回值类型 D.常成员函数关键字 const解析:解析 两个名字相同的函数要实现重载,至少要在参数个数或者参数类型上有所不同。函数返回值不同,而其它完全相同(参数个数和参数类型),则不能作为重载函数来
33、使用。C 选项对于重载函数来说无意义。12.有如下类定义和变量定义: class A public: A( ) data=0;) A( ) int GetData( ) const return data; void SetData(int n) data=n; private: int data; ; const A a; A b; 下列函数调用中错误的是(分数:2.00)A.GetData( );B.SetData(10); C.GetData( );D.SetData(10);解析:解析 const,意思就是说利用 const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一
34、样使用,a 被定义为 const变量,B 选项试图重新给 a赋值,所以,B 选项错误。13.有如下类定义和变量定义: class Parents public: int publicData; private: int privateData; ;class ChildA:public Parents/*类体略*/; class ChildB:private Parents/*类体略*/; ChildA a; ChildB b; 下列语句中正确的是(分数:2.00)A.coutpublicDataendl; B.coutprivateDataendl;C.coutpublicDataendl;
35、D.coutprivateDataendl;解析:解析 公有类型定义了类的外部接口,任何一个外部的访问都必须通过外部接口进行;私有类型的成员只允许本类的成员函数访问。基类的私有成员是派生类不能直接访问的,所以 B、D 两项错误,ChildA公有继承 Parents,ChildB 私有继承 Parents。b 是 ChildB类型的对象,b 的成员变量只能通过成员函数才能访问,故 C错误。14.运算符重载不需要保持的性质是(分数:2.00)A.操作数个数B.操作数类型 C.优先级D.结合性解析:解析 重载的运算符应尽可能保持其原有的特性,运算符的操作数个数、优先级和结合性是三个最基本的特性,而且
36、是重载时自然得以保持的特性。操作数类型不需要保持。15.下列关于函数模板的描述中,错误的是(分数:2.00)A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能省略 C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D.模板参数表不能为空解析:解析 模板实参的信息优先级高于函数实参,而且模板参数表不能为空。16.要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是(分数:2.00)A.ifstream fin=ifstreaopen(“fildat“);B.ifstream*fin=n
37、ew ifstream(“fildat“): C.ifstream fin;fiopen(“fildat“);D.ifstream*fin=new ifstream( );fin-open(“fildat“);解析:17.下列描述中,不属于面向对象思想主要特征的是(分数:2.00)A.封装性B.跨平台性 C.继承性D.多态性解析:18.有如下程序段: int i=4;int j=l; int main( ) int i=8,j=i; coutijendl; 运行时输出结果是(分数:2.00)A.44B.41C.88 D.81解析:解析 函数中有同名变量,外部变量被屏蔽掉了,所以,主函数中访问的
38、 i和 j是内部变量。19.有如下程序段: int i=5; while(int i=0) cout*;i- -;) 运行时输出“*”的个数是(分数:2.00)A.0 B.1C.5D.无穷解析:解析 while 循环判断条件为 int i=0不是一个表达式,while 循环不会去运行自己的循环体,所以 A项正确。20.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.00)A.a2=“WIN“ B.strcpy(a2,“WIN“)C.a23=WD.a01=a01解析:解析 本题考查数组的基本知识,B、C、D 在 C语言中都是允许的,A 选项的赋值是非法的。21.已知函数 fu
39、n的原型为 int fun(int,int,int); 下列重载函数原型中错误的是(分数:2.00)A.char fun(int,in;B.double fun(int,int,doubl;C.int fun(int,char*);D.float fun(int,int,in; 解析:解析 两个名字相同的函数要实现重载,至少要在参数个数或者参数类型上有所不同。函数返回值不同,而其它完全相同(参数个数和参数类型),则不能作为重载函数来使用。22.建立一个类对象时,系统自动调用(分数:2.00)A.析构函数B.构造函数 C.静态函数D.友元函数解析:解析 类是一种用户自定义的类型,声明一个类对象时
40、,编译程序需要为对象分配存储空间,进行必要的初始化,C+中这项工作由构造函数来完成。所以每创建一个对象,系统调用一次构造函数。23.通过派生类的对象可直接访问其(分数:2.00)A.公有继承基类的公有成员 B.公有继承基类的私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员解析:24.已知表达式+a 中的“+”是作为成员函数重载的运算符,则与+a 等效的运算符函数调用形式为(分数:2.00)A.operator+(1)B.operator+(C.operator+(a,1)D.operator+( ) 解析:解析 +既可以是前缀运算符也可以是后缀运算符,重载这两个运算符的区别是:重载
41、后缀+时必须多一个虚拟参数:int,因此从形式上看更像是一个二元运算符重载。题目中+a 为前缀运算符,因此 D选项正确。25.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是(分数:2.00)A.( )B. C. D. 解析:解析 声明一个函数模板的格式为:template模板形参表声明函数声明,故可知本题应选择 C项。26.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(分数:2.00)A.ios_base:in B.ios_base:in|ios_base:outC.ios_base:outD.ios_base:in class XC
42、D char*a; int b; public: XCD(char*aa,int bb) a=new charstrlen(aa)+1; strcpy(a,aa); b=bb; char*Geta( ) returri 3; int Getb( ) return b;) ; int main( ) char*p1=“abcd“,*p2=“weirong“; int dl=6,d2=8; XCD x(p1,d1),y(p2,d2); coutstrlen(x.Geta( )+y.Getb( )endl; return 0; 运行时的输出结果是(分数:2.00)A.12 B.16C.14D.11解
43、析:28.有如下程序: #includeiostream #includecstring using namespace std; class XCF int a; public: XCF(int aa=0):a(aa) cout“1“; XCF(XCFcout“2“;) XCF( ) couta; int Geta( ) return a; ; int main( ) XCF d1(5),d2(d1); XCF*pd=new XCF(8); coutpd-Geta( ); delete pd; return 0; 运行时的输出结果是(分数:2.00)A.1215588B.1218855 C.
44、12185D.128512解析:29.已知类 MyClass声明如下: class MyClass int n; public: MyClass(int k):n(k) int getValue( )constreturn n; ; 在下列数组定义中正确的是(分数:2.00)A.MyClass x12;B.MyClass x22= new MyClass(1),new MyClass(2);C.MyClass*x32; D.MyClass*x42= MyClass(1),MyClass(2);解析:30.有如下程序: #includeiostream using namespace std;
45、class AA int k; protected: int n; void setK(int k) this-k=k; public: void setN(int n)this-n=n; ; class BB:public AA/*类体略*/; int main( ) BB x; x.n=1; /1 x.setN(2); /2 x.k=3; /3 x.setK(4); /4 return 0; 在标注号码的四条语句中正确的是(分数:2.00)A.1B.2 C.3D.4解析:解析 BB 公有继承 AA,对于 BB的对象 x只能调用 AA的公有成员变量,而不能调用 AA的保护类型和私有类型成员变
46、量。31.有如下类定义: class XX int xx; public: XX( ):xx(0) coutA; XX(int n):xx(n) coutB;) ; class YY:public XX int yy; public: YY( ):yy(0) coutyy; YY(int n):XX(n+1),YY(n) coutyy; YY(int m,int n):XX(m),YY(n)coutyy; ; 下列选项中,输出结果为 A0的语句是(分数:2.00)A.YY y1(0,0);B.YY y2(1);C.YY y3(0);D.YY y4; 解析:32.有如下程序: #includeiostream using namespace std; class A public: virtual void f( ) cout1; void g( ) cout2; ; cla