下列程序的运行结果是inClUdeclass Location{private:int X,Y;pubhc:void init(int下列程序的运行结果是 #inClUde<iostream.h> class Location{ private: int X,Y; pubhc: void init(int=0,int=0) ; void valueX(int val) {X=val;} int valueX( ) {retum X;} void valueY(int val) {Y=val;} int v

题目
下列程序的运行结果是inClUdeclass Location{private:int X,Y;pubhc:void init(int

下列程序的运行结果是 #inClUde<iostream.h> class Location{ private: int X,Y; pubhc: void init(int=0,int=0) ; void valueX(int val) {X=val;} int valueX( ) {retum X;} void valueY(int val) {Y=val;} int valueY( ) {retum Y;}};void Location: :init(int initX,int initY) { X=initX; Y=initY;} Void main( ) { Location A,B; A. init( ) ; A. valueX(5) ; cout < < A. valueX( ) < < endl < < A. valueY( ) < < endl; B. init(6,2) ; B. valueY(4) ; cout < < B. valueX( ) < < endl < < B. valueY( ) < < endl;}

A.5

B.0

C.5

D.0 0 0 0 0 6 6 6 6 4 4 2 2


相似考题
更多“下列程序的运行结果是#inClUde<iostream.h>class Location{private:int X,Y;pubhc:void init(int ”相关问题
  • 第1题:

    下列程序的运行结果是()。includevoid fun(int *a, int *b) {int *k; k=a; a=b; b=

    下列程序的运行结果是( )。#include<iostream.h>void fun(int *a, int *b) {int *k; k=a; a=b; b=k;}void main(){int a=2OO4,b=9,*x=&a,*y=&b;fun(x, y);cout<<a<<" "<<b<<end1;}

    A.20049

    B.92004

    C.0

    D.编译时出错


    正确答案:A

  • 第2题:

    下列程序的运行结果是 inClude roid fun(int *a,int * b) { int * k; k=a;a=b

    下列程序的运行结果是 #inClude<iostream.h> roid fun(int *a,int * b) { int * k; k=a;a=b;b=k;} void main( ) { int a=2004,b=9,* x=&a,* y=&b; fun(x,y); cout < < a < <" " < < b < < end1;}

    A.2004 9

    B.9 2004

    C.0 0

    D.编译时出错


    正确答案:A
    解析:本题函数fun中形参是两个指针变量,函数fun只是将这两个指针的指向的地址交换了一下而并没有交换它们所指向的地址中的数据。虽然,主函数中声明的变量a,b是整型变量而函数fun中的形参是两个指针变量,这两个变量仅仅是两个参数,与主函数中的那两个变量含义是不同的。注意:采用指针或引用可将值交换。

  • 第3题:

    下列程序的运行结果是includevoid fun(int*a,int*b){int*k; k=a;a=b;b=k;}void mai

    下列程序的运行结果是 #include<iostream.h> void fun(int*a,int*b) { int*k; k=a;a=b;b=k; } void main() { int a=3,b=6,*x=&a,*y=&b; fun(x,y); cout < < a < < " " < < b; }

    A.6 3

    B.3 6

    C.编译出错

    D.O 0


    正确答案:B
    解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!大家可以考虑一下利用下面这函数可不可以实现a和b的互换。swap(intx,inty){intt;t=x;x=y;y=t}如果在main函数中用swap(a,b),会有什么结果呢?在函数调用开始时,a的值传送给x,b的值传递给y。执行完swap()函数后,x和y的值是互换了,但main()函数中的a和b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。为了使在函数中改变了的变量值能被main()函数所闻,不能采取上述办法,而应该用指针变量做函数参数。布函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主凋函数中使用这些改变了的值的目的。swap(int*p1,int*p2){intp;p=*p1;*p1=*P2;*p2=p;}注意交换*P1和*p2的值是如何实现的,如果写成下面这样就有问题了!swap(int*P1,int*p2){int*P;*p=*P1;/*此语句有问题*/*p1=*p2;*p2=*p:}*p1就是a,是整型变量。而*p是指针变量p所指向的变量,但p中并无确切地址,用*p可能会造成破坏系统的正常工作状态。应该将*p1的值赋给一个整型变量,用整型变量作为过渡变量实现*P1和*p2的交换。

  • 第4题:

    下列程序的运行结果是 includeclassLocation{ private: int X,Y; public: void init

    下列程序的运行结果是 #include<iostram.h> classLocation{ private: int X,Y; public: void init(int=0, int=0) ; void valueX(int val){X=val:} int valueX(){return X;} void valueY(int val){Y=val;} int valueY(){returnY;}}; void Location∷init(int initX,int initY) { X=initX; Y=initY;} void main() { LocationA,B; A.init(); A.ValueX(5); cout <<A.ValUeX() <<endl<<A,valueY() <<endl; B.init(6,2); B.valueY(4) ; cout<<B.valueX() <<endl<<B.valueY() <<endl;}

    A.5 0 6 4

    B.0 0 6 4

    C.5 0 6 2

    D.0 0 6 2


    正确答案:A
    解析:本题中有成员函数和它的重载函数,要注意它们的不同,在本题中先调用了init函数,初始化了X,Y,都为0,valueX(5);义将X变为5,所以输出5和0,然后初始化init(6,2),接着义valueY(4);将X,Y设为6和4,所以输出6和4。

  • 第5题:

    下列程序的运行结果是includevoid fun(int *a,int *B){int *k;k=a;a=b;b=k;}void m

    下列程序的运行结果是 #include<iostream.h> void fun(int *a,int *B) {int *k; k=a;a=b;b=k; } void main( ) {int a=3,b=6,*x=&a,*y=&b; fun(x,y); cout << a <<" "<< b; }

    A.63

    B.36

    C.编译出错

    D.0


    正确答案:B
    解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!大家可以考虑一下利用下面这函数可不可以实现a和b的互换。swap(intx,inty){intt;t=x;x=y;y=t;}如果在main函数中用swap(a,B,会有什么结果呢?在函数调用开始时,a的值传送给x,b的值传递给y。执行完swap()函数后,x和y的值是互换了,但main()函数中的a和b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。为了使在函数中改变了的变量值能被main()函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}注意交换*p1和*p2的值是如何实现的,如果写成下面这样就有问题了!swap(int*p1,int*p2){int*p;*p=*p1;/*此语句有问题:*/*p1=*p2;*P2=*p;}*p1就是a,是整型变量。而*p是指针变量p所指向的变量,但p中并无确切地址,用*p可能会造成破坏系统的正常工作状态。应该将*p1的值赋给一个整型变量,用整型变量作为过渡变量实现*p1和*p2的交换。