全部知识点

第6161题

下列关于派生类构造函数和析构函数的说法中,错误的是()。

第6162题

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

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

有如下类说明,在构造函数TestClass1的下列定义中,正确的是()。

class TestClass
{
    int x;
public:
    TestClass (int n){x=n;}
};
class TestClass1:public TestClass {
    int y;
public:
    TestClass1 (int a,int b);
};
第6164题

声明派生类时,已知有如下定义:

class TestClass{
protected:
    void fun(){}
};
class TestClass1:TestClass{};

则TestClass类中的成员函数fun(),在TestClass1中的访问权限是()。


第6165题

下面叙述错误的是()。

第6166题

关于虚函数,以下说法正确的是()。

第6167题

下列关于纯虚函数与抽象类的描述中,错误的是()。

第6168题

有如下类定义,类MyDERIVED中保护的数据成员和成员函数的个数是()。

class MyBASE
{
    int k;
public:
    void set(int n){k=n;}
    int get()const{return k;}
};
class MyDERIVED:protected MyBASE
{
protected:
    int j;
public:
    void set(int m,int n){MyBASE::set(m);j=n;}
    int get()const{return MyBASE::get()+j;}
};
第6169题

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

第6170题

有如下程序,执行上面的程序将输出()。

class YY:public XX
{
public:
    ~YY()
    {
        cout<<"YY";
    }
    void f()const
    {
        cout<<k;XX::f();
    }
};
int main()
{
    XX &p=*new YY;
    p.f();
    delete &p;
    return 0;
}
第6171题

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

第6172题

在下列横线处应添加的语句是()。

class Base{public: void fun(){cout<<"Base::fun"<<endl;}};
class Derived:public Base
{
public:
    void fun()
    {
        //显示调用基类的fun函数
        cout<<"Derived::fun"<<endl;
    }
};
第6173题

若类A和类B的定义如下,则上述定义中非法的表达式是()。

#include<malloc.h>
class A
{
    int i,j;
public:
    int geti()
    {
        return i;
    }
};
class B:public A
{
    int k;
public:
    void make()
    {
        k=i*j;
    }
};
第6174题

派生类的构造函数的成员初始化列中,不能包含()。

第6175题

派生类的对象对它的基类成员中()是可以访问的。

第6176题

 C++类体系中,不能被派生类继承的有()。

第6177题

有如下程序,执行上面的程序将输出()。

#include<iostream>
using namespace std;
class TestClass
{
public:
    TestClass(){cout<<"BB";fun();}
    void fun(){cout<<"Bf";}
};
class TestClass1:public TestClass
{
public:
    TestClass1(){cout<<"DD";}
    void fun(){cout<<"Df";}
};
int main(){TestClass1 d;return 0;}
第6178题

下列程序中横线处正确的语句是()。

#include<iostream>
using namespace std;
class TestClass
{
public:
    void fun(){cout<<" TestClass::fun"<<endl;}
};
class TestClass1:public TestClass
{
    void fun()
    {
        //显示调用基类的函数fun()
        cout<<" TestClass1::fun"<<endl;
    }
};
第6179题

下面关于虚函数的描述中正确的是()。

第6180题

有如下程序,执行上面程序的输出是()。

#include<iostream>
using namespace std;
class TestClass1
{
public:
    virtual void fun() {cout<<"1";}
};
class TestClass2:public TestClass1
{
public:
    TestClass2(){cout<<"2";}
};
class TestClass3:public TestClass2
{
public:
    virtual void fun(){TestClass2::fun();cout<<"3";}
};
int main()
{
    TestClass1 aa,*p;
    TestClass2 bb;
    TestClass3 cc;
    p=&cc;
    p->fun();
    return 0;
}