第六章习题演示教学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章习题

关于new运算符的下列描述中,()是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值;

在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。

A.派生类的对象可以赋给基类的对象

B.派生类的对象可以初始化基类的引用

C.派生类的对象可以直接访问基类中的成员

D. 派生类的对象的地址可以赋给指向基类的指针

class XA{ int x; public: XA(int n) {x=n;} };

class XB: public XA{

int y;

public:

XB(int a,int b); };

在构造函数XB的下列定义中,正确的是()。

A.XB::XB(int a,int b):x(a),y(b){ }

B. XB::XB(int a,int b):XA(a),y(b) { }

C. XB::XB(int a,int b):x(a),XB(b){ }

D. XB::XB(int a,int b):XA(a),XB(b){ }

实现运行时的多态性用()。

A、重载函数

B、构造函数

C、析构函数

D、虚函数

一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A.内联函数 B. 重载函数 C. 递归函数 D. 嵌套函数

所谓多态性是指()

A.不同的对象调用不同名称的函数

B.不同的对象调用相同名称的函数

C.一个对象调用不同名称的函数

D.一个对象调用不同名称的对象

在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中

的()

A. 私有成员

B. 公有成员

C. 保护成员

D. 保护成员或私有成员

对基类和派生类的关系描述中,错误的是()

A.派生类是基类的具体化

B.基类继承了派生类的属性

C.派生类是基类定义的延续

D.派生类是基类的特殊化

在C++中,要实现运行时多态(动态联编),必须使用( )调用虚函数。

A.类名

B.派生类指针

C.对象名

D.基类指针

//静态联编:在编译时就确定函数的调用和被调用关系

//动态联编:在运行时就确定函数的调用和被调用关系

当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()。 A.都是虚函数

B.只有被重新说明时才是虚函数

C.只有被重新说明为virtual时才是虚函数

D.都不是虚函数

下列描述中,()是抽象类的特性。

A.可以说明虚函数

B.可以进行构造函数重载

C.可以定义友元函数

D.不能定义其对象

1.C++中多态性包括两种多态性:(1)和(2)。前者是通过(3)实现的,

而后者是通过(4)和(5)来实现的。

2. 如果一个类中有一个或多个纯虚函数,则这个类称为()。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%

1.

2.

class Data{

public:

Data(int x){

this->x=x;cout<<"Data cons."<

~Data(){cout<<"Data des."<

private:

int x;

};

class Base{

public:

Base(int x):d1(x){cout<<"Base cons."<

~Base(){cout<<"Base des."<

private :

Data d1;

};

class Derived:public Base {

public:

Derived(int x):Base(x),d2(x){cout<<"Derived cons."<

private :

Data d2;

};

int main()

{

Derived obj(5);

return 0;

}

3.

4.

class A{

public:

A(int i,int j){a=i;b=j;}

void Move(int x,int y){a+=x;b+=y;}

void Show(){cout<<"("<

int a,b;

};

class B:public A{

public:

B(int i,int j,int k,int l):A(i,j){x=k;y=l;}

void Show(){cout<<"("<

void F1(){A::Show();}

private:

int x,y;};

int main(){

A a(1,2);

a.Show();

B b(3,4,5,6);

b.Fun();

b.A::Show();

b.Show();

b.F1();

return 0;

}

5.

class A{

public:

A(char i){cout<<"A cons."<

~A(){cout<<"A des."<

};

class B:virtual public A{

public:

B(char i,char j):A(i){cout<<"B cons."<

private:

相关文档
最新文档