C++试卷

第381题

下列有关类成员的叙述中,正确的是

第382题

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

第383题

已知类Base、Derived的定义,x是一个Derived对象,则下列表达式中正确的是

第384题

已知类Amount的定义及程序段(运算符+=重载),已知程序的运行结果是10,则下划线处缺失的表达式是

第385题

下列程序段中包含4个函数,其中具有隐含this指针的是()。

int fun1();
class Test{
public:
    int fun2();
    friend int fun3();
    static int fun4();
};
第386题

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

#include<iostream>
using namespace std;
class Obj{
    static int i;
public:
    Obj(){i++;}
    ~Obj(){i--;}
    static int getVal() {return i;}
};
int Obj::i=0;
void f(){Obj ob2;cout<<ob2.getVal();}
int main(){
    Obj ob1;
    f();
    Obj *ob3=new Obj;cout<<ob3->getVal();
    delete ob3;cout<<Obj::getVal();
    return 0;
}
第387题

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

#include<iostream>
using namespace std;
class MyClass{
public:
    MyClass(){++count;}
    ~MyClass(){--count;}
    static int getCount(){return count;}
private:
    static int count;
};
int MyClass::count=0;
int main(){
    MyClass obj;
    cout<<obj.getCount();
    MyClass*ptr=new MyClass;
    cout<<MyClass::getCount();
    delete ptr;
    cout<<MyClass::getCount();
    return 0;
}
第388题

 有如下定义,要初始化Point类的静态成员how_many,下划线处应填入的内容是()。

class Point{
private:
    static int how_many;
};
______ how_many=0;
第389题

有如下类和对象的定义,下列各组语句中,能输出3.1416的是()。

class Constants{ 
public: static double getPI(){return 3.1416;}
 }; 
Constants constants;
第390题

若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。

第391题

有如下定义,上述程序段中,错误的语句是()。

 cpp class Sample{ public: Sample(int x): ref(x) {}  //① private: Sample():ref(0) {}       //② static int val=5;        //③ const int ref;           //④ };


第392题

已知类Myclass的定义如下,其中有编译错误的函数是()。

cpp class MyClass{ 
public: void function1(MyClass &c){cout<<c.data;} 
static void function2(MyClass &c){cout<<c.data;} 
void function3(){cout<<data;} 
static void function4(){
cout<<data;
} private: int data;
 };
第393题

有如下程序,若程序的输出结果是123,则程序中下划线处遗漏的语句是()。

 #include<iostream> using namespace std; class Fun{ 
public: static int i; int value(){ return i-1;} int value()const{ return i+1;}
 };
 int Fun::i=2; int main(){ 
int i=3; Fun fun1; const Fun fun2; ________; return 0; }
第394题

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

 #include<iostream> using namespace std; class VAC{ 
public: int f() const { return 3;}
 int f() {return 5;}
 }; 
int main(){ 
VAC v1; const VAC v2; 
cout<<v1.f()<<v2.f(); 
return 0; }
第395题

有如下程序,其主函数中错误的语句是()。

 #include<iostream> using namespace std; class MyClass{ 
public: MyClass(int x):
val(x){} void SetInt x){val=x;} 
void Print()const{cout<<"val="<<val<<'\t';} 
private: int val; };
 int main(){ 
const MyClass obj1(10); MyClass obj2(20); obj1.Print();    //语句1 obj2.Print();    //语句2 obj1.Set(20);    //语句3 obj2.Set(20);    //语句4 return 0; }
第396题

有如下类定义和变量定义,下列函数调用中错误的是()。

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;
第397题

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

 #include<iostream> using namespace std; 
class A { 
public: A(int i): r1(i) {} 
void print() {cout<<"E"<<r1*r1<<":";} 
void print() const {cout<<"C"<<r1*r1<<":";} 
private: int r1; }; i
nt main(){ A a1(2); 
const A a2(4); a1.print(); a2.print(); return 0; }
第398题

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

#include<iostream> using namespace std; 
class A { public: A(int i=0):r1(i){} 
void print(){cout<<"E"<<r1*r1<<":";} 
void print() const {cout<<"C"<<r1*r1<<":";} 
void print(int x){cout<<"P"<<r1*r1*r1<<":";} 
private: int r1; }; 
nt main(){ A a1; const A a2(4); a1.print(2); a2.print(); return 0; }
第399题

某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是()。

第400题

已知类IMS中两个成员函数的声明为 void listen()const; 与 void speak(); ,另有两个对象的定义为 IMS obj1; 与 const IMS obj2; ,则下列语句中,产生编译错误的是()。