香基(Base)

题目
名词解释题
香基(Base)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序中画线处应填入的语句是

class Base

{

public:

void fun(){cout <<”Base of fun”<

};

class Derived:public Base

{

void fun()

{

//显示基类的成员函数fun

cout <<”Derived of fun”<

};

A.fun();

B.Base. fun();

C.Base::fun();

D.Base- >fun-:


正确答案:C

第2题:

请将下列类定义补充完整

class Base{public: void fun(){cout<<"Base::fun"<<end1;}};

class Derived:public Base

{

public:

void fun(){

______//显式调用基类的fun函数

cout<<"Derived::fun"<<end1;

}

};


正确答案:Base::fun();
Base::fun(); 解析:本题考核虚基类。作用域分辨符号是“::”,它可以用来限定要访问的成员所在的类的名称。一般来说,在派生类中对基类成员的访问应该是惟一的。但是,多继承情况下可能造成对基类中某个成员的访问出现不惟一的情况,通过使用对象作用域分辨符可以解决这种对基类成员访问的;义性问题。

第3题:

( 11 )请在如下程序中的空格处填写正确的语句:

#include<iostream>

using namespace std;

class Base{

public:

void fun(){cout<<"Base fun"<<endl;}

};

class Derivde:public Base{

public:

void fun(){

___________// 调用基类的函数 fun()

cout<<"Derived fun"<<endl;

}

};


正确答案:

第4题:

下列程序中下画线处应填入的语句是

class Base

{

public:

void fun( ) {cout < < "Baseoffun" < < endl;}

};

class Derived:public Base

{

void fun( )

{

______//显示基类的成员函数fun

cout < < "Derived of fun" < < endl;

}

};

A.fun( ) ;

B.Base. fun( ) ;

C.Base: :fun( ) ;

D.Base->fun( ) ;


正确答案:C
解析:如果在子类中要访问父类的函数应用“: :”运算符。

第5题:

请将下列类定义补充完整。

class Base{public:void fun(){cout<<"Base::fun"<<end;}};

class Derived:public Base

{

public:

void fun()

{

【 】//显式调用基类的fun函数

cout<<"Derived::fun"<<endl;

}

};


正确答案:Base::fun();
Base::fun(); 解析:类层次中的访问规则。

第6题:

请将下列类定义补充完整。

class Base{public:void fun(){tout<<"Base::fun"<<endl;}};

class Derived:public Base

{

public:

void fun()

{

______//显示调用基类的fun函数

cout<<"Derived::fun"<<endl;

};


正确答案:Base::fun();。
Base::fun();。 解析: 本题考查的是成员函数的调用。因为横线处的作用是调用基类的fun函数,又因为派生类也碉tun()函数,所以必须对fun()函数加以限定,即Base::fun();。

第7题:

使用VC6打开考生文件夹下的工程test2_1,此工程包含一个源程序文件test2_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:

调用基类BASE的构造函数:1

调用基类BASE的构造函数:2

调用派生类A的构造函数:3

调用派生类A的析构函数

调用基类BASE的析构函数

调用基类BASE的析构函数

源程序文什test2_1.cpp清单如下:

include<iostream.h>

class BASE

{

public:

BASE(int i){cout<<"调用基类BASE的构造函数:"<<i<<endl;}

~BASE(){cout<<"调用基类BASE的析构函数"<<endl;)

/***************** found *****************/

}

class A:public BASE

{

public:

/***************** found *****************/

A(int a,int b):i(a),b(b)

{cout<<"调用派生类A的构造函数:"<<a+b<<endl;}

~A(){cout<<"调用派生类A的析构函数"<<endl;)

private:

BASE b;

};

void main()

{

/****************found***************/

BASE obj(1,2);

}


正确答案:(1)错误:类BASE的定义缺少“;” 正确:}; (2)错误:A(int aint b):i(a)b(b) 正确:A(intaintb):BASE(a)b(b) (3)错误:BASE obj(12); 正确:A obj(12);
(1)错误:类BASE的定义缺少“;” 正确:}; (2)错误:A(int a,int b):i(a),b(b) 正确:A(inta,intb):BASE(a),b(b) (3)错误:BASE obj(1,2); 正确:A obj(1,2); 解析:(1)主要考查考生对于类的定义的掌握,类定义结束后大括号外面不能缺少分号;
(2)主要考查考生对于派生类构造函数的掌握,该函数应该实现将参数传递给基类的功能,即派生类的构造函数应使用参数列表的形式将基类的数据成员初始化,初始化的时候直接使用基类的名称(BASE)而不是基类中变量的名称(i);
(3)主要考查考生对于基类和派生类函数调用关系的掌握,要调用派生类的构造函数必须使用派生类的对象,构造函数只有在该类的对象被使用的时候才会被调用。

第8题:

下列程序中划线处正确的语句是()。 include using namespace std;class Base{public:v

下列程序中划线处正确的语句是( )。 # include <iostream> using namespace std; class Base { public: void fun(){cout<<"Base:: fun" <<endl;} }; class Derived:public Base { void fun() { ______ ∥显式调用基类的函数fun() cout<<"D

A.fun();

B.Base.fun();

C.Base::fun();

D.Base- >fun();


正确答案:C

第9题:

在下列横线处应添加的语句是( )。 class Base{public:void fun(){cout<<"Base::fun"<<end1;}}; class: Derived: public Base { public: void fun() { ______//显示调用基类的fun函数 cout<<"Derived::fun"<<end1; } };

A.Derived::fun

B.Base::fun();

C.Pubic::fun

D.fun();


正确答案:B

第10题:

请将下列类定义补充完整。

class Base{public:void fun(){cout<<"Base∷fun"<<end1;}};

c1ass DehVed:public Base

{

public:

void fun(){

______ ∥显式调用基类的fun函数

cout<<"Derived∷fun"<<endl;

}

};


正确答案:Base∷fun();
Base∷fun(); 解析: 此题考查的是虚基类的使用。使用符号“∷”可以用来限定要访问的成员所在的类的名称。在派生类中对基类成员的访问应该是唯一的,但是,多继承情况下就需要通过使用对象作用域分辨来解决这种对基类成员访问的二义性问题。

更多相关问题