请在如下程序中的空格处填写正确的语句: include <iostream> using namespace std; class Base {

题目
请在如下程序中的空格处填写正确的语句: include using namespace std; class Base {

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

include <iostream>

using namespace std;

class Base {

public:

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

};

class Derived: public Base {

public:

void fun() {

【 】; //调用基类的函数fun()

cout<<"Derived fun "<<endl;

}

};

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序中划线处正确的语句是()。 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

第2题:

有如下程序:includeusing namespace std;Class Base{public:Base(){cout<<“BB”;f()

有如下程序: #include<iostream.h> using namespace std; Class Base { public: Base(){cout<<“BB”;f();} void{(){cout<<“BF”;} }; class Derived:public Base { public: Derived(){cout<<“DD”;} void f(){cout<<“Df”;) }; int main

A.BBBfDD

B.BBDfDDDf

C.DD

D.DDBBBf


正确答案:A
解析: 本趣考查的是类的继承和派生。派生类执行构造函数的一般次序为;首先调用基类构造函数,然后调用成员对象的构造函数,最后是派生类构造函数中的内容。题目中定义派生类对象d时,先调用基类Base的构造函数,输出BBBf,然后调用派生类Derived的构造函数,输出DD。

第3题:

有如下程序 include using namespace std; class Base { protected:

有如下程序 #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; } 执行这个程序屏幕上将显示输出

A.B

B.BA

C.AB

D.BB


正确答案:C
解析:本题考查的是派生类对象的构造。建立派生类对象时,构造函数的执行顺序如下:
  (1) 执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右):
  (2) 执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):
  (3) 执行派生类的构造函数。
  所以本题在建立派生类Derived的对象d1时会先调用基类Base的构造,由于派生类中没有通过初始化列表显式构造基类对象,所以调用的是基类的默认构造函数,会输出一个'A'。然后调用自身的构造函数,输出传入的构造参数'B'。故程序输出的结果是:AB。所以应该选择C。

第4题:

有如下程序:includeusing namespace std;class Base{protected:Base(){cout<<'Base';

有如下程序: #include<iostream> using namespace std; class Base{ protected: Base(){cout<<'Base';} Base(char c){cout<<c;} }; class Derived:public Base{ public: Derived(char c){cout<<c;} }; int main(){ Derived d('Derived'); return 0; } 执行这个程序屏幕上将显示输出( )。

A.Derived

B.DerivedBase

C.BaseDerived

D.DerivedDerived


正确答案:C
解析:派生类Derived由基类Base公有派生,在派生类构造函数声明时系统会自动调用基类的缺省构造函数。调用Derived d('Derived');后,执行类Derived构造函数的Derived(char c),系统自动调用基类的缺省构造函数Base(),输出字母Base;再执行派生类的构造函数Derived(char c),输出字母Derived。

第5题:

有如下程序:include using namespace std;class Base{public:Base(){cout<<"BB"; f()

有如下程序:#include <iostream>using namespace std;class Base{ public: Base(){cout<<"BB"; f(); } Void f(){cout<<"Bf"; }};class Derived: public Base{ public: Derived() { cout<<"DD"; } void f() { cout<<"Df"; }};int main() { Derived d; return 0; }执行上面的程序将输出( )。

A.BBBfDD

B.BBDfDDDf

C.DD

D.DDBBBf


正确答案:A

第6题:

有如下程序: include using namespace std; class Base { public:

有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class Derived: public Base{ public: Derived(int x=0) { cout<<x; } private: Base val; }; int main() { Derived d(1); return 0; }程序的输出结果是

A.0

B.1

C.1

D.1


正确答案:D
解析:本题考查的知识点是:类的构造。建立一个类的对象时,构造函数的执行顺序如下:
①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);
②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):(如果一行声明了多个对象,则还要遵循自左向右)
③执行自身的构造函数。
本题Derived类继承于Base类,所以首先会构造基类Base,但Derived类的构造函数没有初始化列表,所以将调用Base类的默认构造函数,输出一个0。接下来由于它的成员中还定义了一个Base类的对象,而构造函数也没有显示初始化这个对象,所以再次调用Base类的默认构造函数输出一个0。最后构造自身,因为主函数中传入了构造参数1,所以构造自身时输出了一个1。故最终输出结果为001,应该选择 D。

第7题:

以下程序的执行结果为______。include using namespace std; class base { public: vir

以下程序的执行结果为______。

include<iostream>

using namespace std;

class base

public:

virtual void who()

cout<<"base class"<<endl;

};

class derivel:public base

public:

void who()

cout<<"d


正确答案:base class derivel class derive2 class
base class derivel class derive2 class

第8题:

( 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;

}

};


正确答案:

第9题:

有如下程序: include using namespace std; class BASE { public

有如下程序: #include<iostream> using namespace std; class BASE { public: ~BASE(){cout<<"BASE";} }; class DERIVED:public BASE { public: ~DERIVED(){cout<<"DERIVED";} }; int main(){DERIVEDx;retum 0;} 执行后的输出结果是

A.BASE

B.DERIVED

C.BASEDERIVED

D.DERIVEDBASE


正确答案:D
解析:本题考查基类析构函数和派生类析构函数的调用次序。

第10题:

如下程序的输出是includeusing namespace std;class Base{public:Base( ){cout<<"BB"

如下程序的输出是 #include<iostream> using namespace std; class Base{ public: Base( ){cout<<"BB";f( );} void f( ){cout<<"Bf";} }; class Derived:public Base{ public: Derived( ){eout<<"DD";} void f( ){cout<<"Df";} }; int main( ){Derived d;return 0;}

A.BBBff)D

B.BBDfDDDf

C.DD

D.DDBBBf


正确答案:A
解析:当创建派生类对象时,首先调用基类的构造函数,最后调用派生类的构造函数。

更多相关问题