参考答案和解析
正确答案:D
更多“若将子过程SUB中的PRIVATE X改为PRIVATE Y,则X的输出结果为 ______。A.5B.11C.8D.3 ”相关问题
  • 第1题:

    有以下程序:include include using namespace std;class Y;class X{private

    有以下程序: #include <iostream> #include <string> using namespace std; class Y; class X { private: int x; char *strx; public: X(int a, char *str) { x=a; strx=new char[strlen(str)+1]; strcpy(strx,str); } void show(Y &ob) ; }; class Y { private: int y; char *stry; public: Y(int b,char *str) { y=b; stry=new char[strlen(str)+1]; strcpy(stry, str); } friend void X: :show(Y &ob) ; }; void X: :show(Y &ob) { cout<<strx<<", "; cout<<ob, stry<<end1; } int main ( ) { X a(10,"X"); Y b (20, "Y"); a. show(B) ; return 0; } 执行后的输出结果是( )。

    A.X,Y

    B.a,b

    C.X,X

    D.Y,Y


    正确答案:A
    解析:本题考核类的定义和友元函数的应用。①该程序中,类X的成员函数show()在类Y中说明为友元,因此,在该友元成员show()中可以访问类Y的私有成员stry。②成员函数show()的功能就是输出类X的私有成员strx和Y对象ob的私有成员stry,③主函数main()中定义了X类的一个对象a和Y类的一个对象b,并且都进行了初始化。然后调用对象a的成员函数show,输出对象a中私有成员strx中的内容和对象b中私有成员stry中的内容,即字符串stringX和stringY。

  • 第2题:

    若将输出语句? X1+X2+X3改为?X1,X2,X3,且将子程序最后一行的TO MASTER 删除,则X1的输出结果为 ______。

    A.10

    B.11

    C.12

    D.13


    正确答案:C

  • 第3题:

    若将输出语句?X1+X2+X3改为? X1,X2,X3,且将子程序最后一行的TO MASTER 删除,则X3的输出结果为 ______。

    A.10

    B.11

    C.12

    D.13


    正确答案:B
    解析:当将“TO MASTER”选项删除时,程序执行完子程序Z2后,返回子程序Z1,执行X1=X1 +1=11+1=12,再返回主程序,执行“ ? X1,X2,X3”,所以最后X1为12,X2和X3均为11。

  • 第4题:

    若将程序中的&& 删除,则X,Y的输出结果为 ______。

    A.0 2

    B.2 4

    C.6 6

    D.1 3


    正确答案:B
    解析:&&起解释说明语句作用,删除后则执行IF语句,当第二次循环后X=2、Y=4时,结束循环。

  • 第5题:

    若将输出语句? X1+X2+X3改为?X1,X2,X3,且将子程序最后一行的TO MASTER 删除,则X2的输出结果为 ______。

    A.10

    B.11

    C.12

    D.13


    正确答案:B