C++试卷

第301题

有如下定义,在标注号码的行中,能被正确编译的是()。

class Test
{
public:
    Test() { a=0; c=0; }          //①
    int f(int a) const { this->a =a; } //②
    static int g() { return a; }       //③
    void h(int b) { Test::b =b; }      //④
private:
    int a;
    static int b;
    const int c;
};
int Test::b=0;
第302题

有类定义 class SAMPLE { int n; public: SAMPLE(int i=0){n=i;} void setValue(int n0); }; ,下列关于setValue函数的实现中,正确的是()。

第303题

以下关键字不能用来声明类的访问权限的是()。

第304题

下列关于类定义的说法中,正确的是()。

第305题

如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。

第306题

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

第307题

下列运算函数中,肯定不属于类Value的成员函数的是()。

第308题

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

#include<iostream>
#include<cstring>
using namespace std;
class XCD {
    char* a;
    int b;
public:
    XCD(char* aa, int bb) {
        a=new char[strlen(aa)+1];
        strcpy(a, aa);
        b=bb;
    }
    char* Geta() { return a; }
    int Getb() { return b; }
};
int main() {
    char *p1="abcd",*p2="weirong";
    int d1=6,d2=8;
    XCD x(p1,d1),y(p2,d2);
    cout<<strlen(x.Geta())+y.Getb()<<endl;
    return 0;
}
第309题

有如下两个类定义,其中有一个成员变量的定义是错误的,这个变量是()。

class AA{};
class BB {
    AA v1,*v2;
    BB v3;
    int *v4;
};
第310题

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

#include<iostream>
using namespace std;
class Point
{
    int x,y;
public:
    Point(int x1=0,int y1=0):x(x1),y(y1){}
    int get(){return x+y;}
};
class Circle
{
    Point center;
    int radius;
public:
    Circle(int cx,int cy,int r):center(cx,cy),radius(r){}
    int get(){return center.get()+radius;}
};
int main()
{
    Circle c(3,4,5);
    cout<<c.get()<<endl;
    return 0;
}
第311题

 若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。如果X为该类的一个对象,要在类外访问X对象中a的值,正确的访问格式为()。

第312题

有如下类定义,创建这个类的对象时,数据成员的初始化顺序是()。

class MyClass{
    int b; char a; double c;
public:
    MyClass():c(0.0),b(0),a('c'){}
};
第313题

下列关于类和对象的叙述中,错误的是()。

第314题

若有如下类声明,执行语句 MyClass a,b[2],*p[2]; 以后,程序的输出结果是()。

class MyClass{
public:
    MyClass(){cout<<1;}
};
第315题

建立一个类对象时,系统自动调用()。

第316题

 若MyClass是一个类名,且有如下语句序列: MyClass c1,*c2; MyClass *c3=new MyClass; MyClass &c4=c1; ,上面的语句序列所定义的类对象的个数是()。

第317题

要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是()。

第318题

下列关于对象初始化的叙述中,正确的是()。

第319题

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

#include<iostream>
using namespace std;
class Pair {
    int m,n;
public:
    Pair(int j,int k):m(j),n(k){}
    int get(){return m;}
    int get()const {return m+n;}
};
int main() {
    Pair a(3,5);
    const Pair b(3,5);
    cout<<a.get()<<b.get();
    return 0;
}
第320题

有如下类定义,已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是()。

class MyClass{
    int x;
public:
    MyClass():x(0),y(0){}
    int GetX(){return x;}
    void SetX(int xx){x=xx;}
    int y;
};