一起答
单选

对于下面程序,选项正确的是(  )。  #include<iostream>  using namespace std;  class point{    public:       void setpoint(unsigned, unsigned);       void getpoint(void);    private:       unsigned x;       unsigned y;  };  void point::setpoint(unsigned x, unsigned y)  {    point::x=x;    point::y=y;  }  void point::getpoint(void)  { cout<<"x:"<<x<<" "<<"y:"<<y<<endl;}  void main(void)  {    point p1,*p2;p2=π    p1.setpoint(20,10);    p1.getpoint();    p2->setpoint(1,2);    p2->getpoint();  }

  • A.该程序编译正确,能输出正确结果
  • B.该程序中 setpoint() 形式参数不应为x、y,这样与程序体中的x、y其实是一个变量了
  • C.该程序中的 setpoint() 程序体中的“point::x、point::y”应该改为x、y
  • D.错误在于主函数中的“p2=&p1;”上,应该改为p2=p1;
试题出自试卷《2015国家二级(C++)笔试标准预测试卷9》
参考答案
查看试卷详情
相关试题
  1. 下面程序的运行结果是【 】。

    #include <iostream.h>

    double fun( double a, double b, char c='*' )

    {

    double d;

    switch (c)

    {

    case '+':d=a+ b; break;

    case '-':d=a-b; break;

    case '*':d=a*b; break;

    case '/':d=a/b; break;

    }

    return d;

    }

    void main()

    {

    double d=1.0;

    d=d-fun(fun(2.5,3.5,'+'),fun(3,5),'/');

    cout<<"d="<<d<<end1;

    }

  2. 下列程序的输出结果是【 】。

    #include <iostream>

    using namespace std;

    class base {

     public:

       int n;

       base(int x) { n=x;}

       virtual void set(int m) { n=m; cout<<n<<' ';}

    };

    class deriveA :public base {

     public:

     deriveA(int x):base(x) {}

     void set(int m) { n+=m; cout<<n<<' ';}

    };

    class derive B: public base {

     public:

       derive B(int x):base(x) {}

       void set(int m) { n+=m; cout<<n<<' ';}

    };

    int main()

    {

     derive A, d1(1);

     derive B, d2(3);

     base *pbase;

     pbase=&d1;

     pbase->set(1);

     pbase=&d2;

     phase->set(2);

     return 0;

    }

  3. 在下面横线上填上适当的语句,完成程序。

    #include<iostream>

    using namespace std;

    class Base

    {

     int x;

    public:

     Base(int i) { x=i; }

       ~Base() { }

    };

    class Derived: public Base

    {

    public:

      【 】 //完成类Derive 构造函数的定义

    };

    int main()

    {

     Derived Obj();

     return 0;

    }

  4. 已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为i-1的单元,其中1≤i<n。例如,当n=4,a中原有数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:

     for(int i=0;i<n-1;i++) a[i]=a[【 】];

  5. 有如下程序:

    #include<iostream.h>

    void main()

    {

    int x=2,y=3,a,b,c,d;

    a=(x++>=--y);

    b=(x==++y);

    c=(x--!=y);

    d=(++x>y--);

    Cout<<a<<b<<c<<d<<end1;

    }

    则程序执行后变量a,b,c,d的值分别是【 】。

  6. 下面程序的输出结果为【 】。

    #include<iostream.h>

    f(int a)

    {int b=0;

    static int c=3;

    b++; c++;

    return(a+ b+ c);

    }

    void main()

    {int a=2,i;

    for(i=0;i<3;i++)

    cout<<f(a)<<end1;

    }

  7. 设置虚基类的目的是解决二义性问题,通过用关键字【 】表示虚基类。

  8. 静态数据成员在定义或说明时,要在前面加上关键字【 】;静态成员函数的实现中,不能直接引用类中说明为非静态的成员。

  9. 设有定义语句:int a=12;,则表达式a*=2+3的运算结果是【 】。

  10. 下列程序的输出结果为【 】。

    include<iostream.h>

    voidmain()

    {

    inta []={10,20,30,40},*pa=a;

    int*&ph=pa;

    Pb++;

    cout<<*pa<<end1;

    }