全部知识点

第6201题

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

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

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

第6203题

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

#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;
}
第6204题

有如下两个类定义,在类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;
};
第6205题

有如下程序,下列叙述中正确的是()。

#include<iostream>
using namespace std;
class Music{
public:
    void setTitle(char* str){strcpy(title, str);}
protected:
    char type[10];
private:
    char title[20];
};
class Jazz: public Music{
public:
    void set(char* str){
        strcpy(type,"Jazz"); //①
        strcpy(title,str);   //②
    }
};
第6206题

当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。

第6207题

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

第6208题

 有如下程序,下列关于程序编译结果的描述中,正确的是()。

#include<iostream>
using namespace std;
class Base {
public:
    int data;
};
class Derived1 :public Base {};
class Derived2 :protected Base {};
int main() {
    Derived1 d1;
    Derived2 d2;
    d1.data = 0; //①
    d2.data = 0; //②
    return 0;
}
第6209题

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

#include<iostream>
using namespace std;
class XX{
    int x;
public:
    XX(int xx=0):x(xx){}
    int getX() {return x;}
};
class YY: public XX{
    int y;
public:
    YY(int xx, int yy):XX(xx),y(yy){}
    int getV() {return getX()+y;}
};
int main(){
    YY c(3,4);
    cout<<c.getV()+c.getX()<<endl;
    return 0;
}
第6210题

有如下程序,编译时有错误的是()。

#include<iostream>
using namespace std;
class Media{
pub
lic:
    void Name(){}
    void Show(){}
protected:
    int page;
};class Book: private Media{
public:
    void Print() { cout<<page<<endl; }
    void Show() { Media::Show(); } //①
};
int main(){
    Book Bible;
    Bible.Name();    //②
    Bible.Print();   //③
    Bible.Show();    //④
    return 0;
第6211题

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

#include<iostream>
using namespace std;
class A {
public:
    A(){cout<<"A";}
};
class B:public B{cout<<"B";}
class C:public A {
    B b;
public:
    C(){cout<<"C";}
};
int main(){ C obj; return 0;}
第6212题

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

#include<iostream>
using namespace std;
class A {
public:
    A(){ cout<<"A";}
    ~A(){ cout<<"~A";}
};
class B: public A {
    A* p;
public:
    B(){ cout<<"B"; p=new A();}
    ~B(){ cout<<"~B"; delete p;}
};
int main(){
    B obj;
    return 0;
}
第6213题

有如下程序,执行这个程序屏幕上将显示输出()。

#include<iostream>
using namespace std;
class Base{
protected:
    Base() {cout<<"A";}
    Base(char c){cout<<c;}
};
class Derived:public Base{
public:
    Derived(char c){cout<<c;}
};
int main(){
    Derived d1('B');
    return 0;
}
第6214题

 在一个派生类对象结束其生命周期时()。

第6215题

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

#include<iostream>
using namespace std;
class A
{
public:
    A(int i):x(i){}
    void dispa(){cout<<x<<',';}
private:
    int x;
};
class B:public A
{
public:
    B(int i):A(i+10){x=i;}
    void dispb(){dispa(); cout<<x<<endl;}
private:
    int x;
};
int main()
{
    B b(2);
    b.dispb();
    return 0;
}
第6216题

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

#include<iostream>
using namespace std;
class Base{
    int x;
public:
    Base(int n=0):x(n){cout<<n;}
    int getX() const{return x;}
};
class Derived:public Base {
    int y;
public:
    Derived(int m,int n):y(m),Base(n){cout<<m;}
    Derived(int m):y(m){cout<<m;}
};
int main(){
    Derived d1(3),d2(5,7);
    return 0;
}
第6217题

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

#include<iostream>
using namespace std;
class AA{
public:
    AA(){ cout<<'1'; }
};
class BB: public AA{
    int k;
public:
    BB():k(0) { cout<<'2'; }
    BB(int n):k(n) { cout<<'3'; }
};
int main(){
    BB b(4), c;
    return 0;
}
第6218题

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

#include<iostream>
using namespace std;
class Base{
public:
    Base(int x=0): valB(x){cout<<valB;}
    ~Base(){cout<<valB;}
private:
    int valB;
};
class Derived:public Base{
public:
    Derived(int x=0,int y=0):Base(x),valD(y){cout<<valD;}
    ~Derived(){cout<<valD;}
private:
    int valD;
};
int main(){
    Derived obj12(2,3);
    return 0;
}
第6219题

生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。

第6220题

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

#include<iostream>
using namespace std;
class Base1 {
public:
    Base1(int d) {cout<<<d;}
    ~Base1() {}
};
class Base2 {
public:
    Base2(int d) {cout<<<d;}
    ~Base2() {}
};
class Derived: public Base1,Base2 {
public:
    Derived(int a,int b,int c,int d):
        Base1(b), Base2(a), b1(d), b2(c) {}
private:
    int b1;
    int b2;
};
int main(){
    Derived d(1,2,3,4);
    return 0;
}