C++试卷

第461题

在类声明中,紧跟在“public:”后声明的成员的访问权限是()。

第462题

定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。

第463题

 有如下定义,下列选项中,输出结果为A0的语句是()。

class XX
{
    int xx;
public:
    XX(): xx(0) {cout<<'A';}
    XX(int n): xx(n) {cout<<'B';}
};
class YY: public XX
{
    int yy;
public:
    YY(): yy(0) {cout<<yy;}
    YY(int n): XX(n+1), yy(n) {cout<<yy;}
    YY(int m, int n): XX(m), yy(n) {cout<<yy;}
};
第464题

有如下类定义,YY类的对象包含的数据成员的个数是()。

class XX{
    int xdata;
public:
    XX(int n=0):xdata(n){}
};
class YY: public XX{
    int ydata;
public:
    YY(int m=0,int n=0):XX(m),ydata(n){}
};
第465题

下列关于继承方式的描述中,错误的是()。

第466题

下列代码段声明了3个类,下列关于这些类之间关系的描述中,错误的是()。

class Person{};
class Student:public Person{};
class Undergraduate:Student{};
第467题

下列关于基类和派生类关系的叙述中,正确的是()。

第468题

若已定义了类Vehicle,则下列派生类定义中,错误的是()。

第469题

下列描述中,错误的是()。

第470题

当派生类继承一个基类时,默认的继承方式为()。

第471题

有如下类定义,编译时发现有一处语法错误,对这个错误最准确的描述是()。

class MyBase
{
    int k;
public:
    MyBase(int n=0):k(n) {}
    int value() const { return k;}
};
class MyDerived: MyBase
{
    int j;
public:
    MyDerived(int i):j(i) {}
    int getK()const { return k;}
    int getJ()const { return j;}
};
第472题

派生类的成员函数不能访问基类的()。

第473题

有如下类声明,已知X是一个Derived对象,则下列表达式中正确的是()。

class Base{
protected:
    int amount;
public:
    Base(int n=0): amount(n){}
    int getAmount()const { return amount; }
};
class Derived: public Base {
protected:
    int value;
public:
    Derived(int m,int n): value(m), Base(n){}
    int getData()const { return value+amount; }
};
第474题

在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译。这说明()。

第475题

对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是()。

第476题

建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。

第477题

有如下类定义和变量定义,下列语句中正确的是()。

class Parents {
public:
    int publicData;
private:
    int privateData;
};
class ChildA: public Parents {/*类体略*/};
class ChildB: private Parents {/*类体略*/};
ChildA a;
ChildB b;
第478题

通过派生类的对象可直接访问其()。

第479题

有如下程序,在标注号码的四条语句中正确的是()。

#include<iostream>
using namespace std;
class AA {
    int k;
protected:
    int n;
    void setK(int k){this->k=k;}
public:
    void setN(int n){this->n=n;}
};
class BB:public AA {/*类体略*/};
int main() {
    BB x;
    x.n=1;    //1
    x.setN(2); //2
    x.k=3;    //3
    x.setK(4); //4
    return 0;
}
第480题

有如下两个类定义,在类YY中保护成员变量的个数是()。

class XX{
private:
    double x1;
protected:
    double x2;
public:
    double x3;
};
class YY: protected XX{
private:
    double y1;
protected:
    double y2;
public:
    double y3;
};