C++试卷

第241题

有如下程序,执行后的输出结果是()。

#include<iostream>
void fun(int&x,int y){int t=x;x=y;y=t;}
int main()
{
    int a[2]={23,42};
    fun(a[1],a[0]);
    std::cout<<a[0]<<","<<a[1]<<std::endl;
    return 0;
}
第242题

有如下程序,编译运行这个程序将出现的情况是()。

#include<iostream>
using namespace std;
int main()
{
    void function(double val);
    double val;
    function(val);
    cout<<val;
    return 0;
}
void function(double val)
{
    val =3;
}
第243题

有如下函数定义: void func(int a,int&b){a++;b++;} ,若执行代码段: int x=0,y=1;func(x,y); ,则变量x和y的值分别是()

第244题

已知函数f的原型是 void f(int*a,long&b); ,变量v1、v2的定义是: int v1;long v2; ,下列调用语句中正确的是()。

第245题

在下列原型所示的C++函数中,按“传值”方式传递参数的是()。

第246题

下列关于函数参数的叙述中,正确的是()。

第247题

有如下程序,运行时的输出结果是()。

#include <iostream>
using namespace std;
void f1(int& x,int& y){int z=x;x=y;y=z;}
void f2(int x,int y){int z=x;x=y;y=z;}
int main()
{
    int x=10,y=26;
    f1(x,y);
    f2(x,y);
    cout<<y<<endl;
    return 0;
}
第248题

已知函数f的原型是 void f(int*x,int&y); ,变量v1、v2的定义是 int v1,v2; ,下列调用语句中,正确的是()。

第249题

有如下程序,运行这个程序的输出结果是()。

#include<iostream>
using namespace std;
void f1(int& x) {x++;}
void f2(int x) {x++;}
int main()
{
    int x=10,y=12;
    f1(x);
    f2(y);
    cout<<x+y<<endl;
    return 0;
}
第250题

有如下程序,执行后的输出结果是()。

#include<iostream>
using namespace std;
class AA{
    int n;
public:
    AA(int k):n(k){}
    int get(){return n;}
    int get()const{return n+1;}
};
int main()
{
    AA a(5);
    const AA b(6);
    cout<<a.get()<<b.get();
    return 0;
}
第251题

下面是重载为非成员函数的运算符函数原型,其中错误的是()。

第252题

关于函数重载,下列叙述中错误的是()。


第253题

有如下程序,程序的输出结果是()。

#include<iostream>
using namespace std;
class MyClass{
public:
    MyClass(int x):val(x) {}
    void Print()const {cout<<"const:val="<<val<<'\t';}
    void Print(){cout<<"val="<<val<<'\t';}
private:
    int val;
};
int main(){
    const MyClass obj1(10);
    MyClass obj2(20);
    obj1.Print();
    obj2.Print();
    return 0;
}
第254题

若已经声明了函数原型 void fun(int a,double b=0.0); ,则下列重载函数声明中正确的是()。

第255题

对C++编译器区分重载函数无任何意义的信息是()。

第256题

已知函数fun的原型为 int fun(int,int,int); ,下列重载函数原型中错误的是()。

第257题

下列关于函数重载的叙述中,错误的是()。

第258题

 以下程序的执行结果是()。

#include<iostream.h>
class TestClass2
{
public:
    TestClass2(){};
    TestClass2(int i,int j);
    void printb();
private:
    int a,b;
};
class TestClass1
{
public:
    TestClass1(){}
    TestClass1(int i,int j);
    void printa();
private:
    TestClass2 c;
};
TestClass1::TestClass1(int i,int j):c(i,j)
{}
void TestClass1::printa()
{
    c.printb();
}
TestClass2::TestClass2(int i,int j)
{
    a=i;
    b=j;
}
void TestClass2::printb()
{
    cout<<"a="<<a<<" "<<"b="<<b<<endl;
}
void main()
{
    TestClass1 m(7,9);
    m.printa();
}
第259题

下面程序的输出结果为()。

#include<iostream.h>
class TestClass
{
public:
    TestClass(){val++;};
    static int val;
};
int TestClass::val=0;
void main()
{
    TestClass cs1;
    cout<<cs1.val<<"";
    TestClass cs2;
    TestClass cs3,cs4;
    cout<<cs2.val<<endl;
}
第260题

下面程序的运行结果是()。

#include<iostream>
using namespace std;
class TestClass
{
    static int n;
public:
    TestClass()
    {
        n++;
    }
    static int test()
    {
        for(int i=0;i<4;i++)n++;
        return n;
    }
};
int TestClass::n=0;
int main()
{
    cout<<TestClass::test()<<" ";
    TestClass c1,c2;
    cout<<TestClass::test()<<endl;
    return 0;
}