下面程序的执行结果是()。#include<iostream>using namespace std;class building {public:buildi

题目
下面程序的执行结果是()。includeusing namespace std;class building {public:buildi

下面程序的执行结果是( )。 #include<iostream> using namespace std; class building { public: building() {} building(unsigned stories, float breadths, float lengths) { story = stories; breadth = breadths; length = lengths;} void getstory(void) { cout<<"story is:"<<story<<endl;} void getarea(void) { area = length*breadth*story;cout<<"area is:"<<area<<endl;} private: unsigned story; float length; float breadth; float area; }; void main(void) { building b1,b2;building b3(10u,16.6,58.8); b1.getstory(); b1.getarea(); b2.getstory(); b2.getarea(); b3.getstory(); b3.getarea();}

A.story is:0 area is:0 story is:0 area is:0 story is:10 area is:9760.8

B.story is:null area is:null story is:null area is:null story is:10 area is:9760.8

C.前两个对象输出的结果是不定的,后一个对象的结果正确

D.前两个对象没有初值,因此程序编译时出错

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

第1题:

下面程序的结果是 ______。includeclass A{ public:virtual voidfun()=0{};};class

下面程序的结果是 ______。 #include<iostream.h> class A{ public: virtual void fun()=0{}; }; class B:public A{ public: void fun () {cout<< "new file" ;} }; class C: public A{ public: void fun (){cout<<"open file"<< " " } }; class D: public A{ public: void fun () {cout<< "save file\n" ;} }; void main() { A a,*p; B b; C c; D d; p=&c; p->fun (); p=&b; p->fun (); p=&d; p->fun(); }

A.new file open file save file

B.new file new file new file

C.编译出错

D.open file new file save file


正确答案:C

第2题:

下面程序的输出结果是()。include using namespace std;class A {public:A( ) {cout<<

下面程序的输出结果是( )。 #include <iostream> using namespace std; class A { public: A( ) {cout<<"A";} } class B { public: B() {coat<<"B" ;} } class C: public A { public: B b; C() {cout<<"C";} } void mian(){ C c; }

A.CBA

B.ABC

C.ACB

D.BCA


正确答案:B
解析:先执行基类A构造函数输出A,调用类B的构造函数输出B,调用本身构造函数输出C。

第3题:

下面程序的结果是includeclass A{int a;public:A( ):a(1){}void showa( ){cout<

下面程序的结果是 #include<iostream.h> class A { int a; public: A( ):a(1){} void showa( ){cout<<a;} }; class B { int a; public: B( ) :a(2) {}

A.1

B.2

C.3

D.程序有错误


正确答案:C
解析:类A,类B,中都有showa()函数,类C继承后再次重写showa()函数就解决了继承的二义性,这时c.showa()函数显示的就是类C中的showa()的值。

第4题:

下面程序执行的结果是【 】 include using namespace std; class A{ public: static in

下面程序执行的结果是【 】

include<iostream>

using namespace std;

class A{

public:

static int x;

A(inty){cout<<x+y;}

};

int A::x=2;

void main(){

A a(5);

}


正确答案:7
7 解析:程序的静态变量初始化为2,而构造函数招待过程中y变量为初始化为5,故程序执行的结果为7。

第5题:

以下程序的执行结果是______。 include class A{ int a: public: void seta(int x) {

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

include<iostream.h>

class A

{

int a:

public:

void seta(int x) {a=x;}

void showa() {cout<<a<<end1;}

};

class B

{

int b;

public:

void setb(int x) {b=x;}

void showb(){cout<<b<<end1;}

};


正确答案:1 3
1 3

第6题:

下面程序的结果是includeclass A{public:A( ){cout<<"construtA"<

下面程序的结果是 #include<iostream.h> class A { public: A( ) {cout<<"construtA"<<endl;} virtual~A( ) {cout<<"destructA"<<endl;}}; class B:public A {}; class C:public A {}; c

A.constructA destructA

B.constructA constructA destructA destructA

C.constructA constructA constructA destructA destructA destructA

D.constructA onstructA constructA constructA destructA destructA destructA destructA


正确答案:B
解析:类D继承了类C和类B,所以在构造的时候分别构造类B和类C。

第7题:

下面程序的执行结果是【】。 include include using namespace std; void main(

下面程序的执行结果是【 】。

include<iostream>

include<iomanip>

using namespace std;

void main()

{

cout<<setfill('x')<<setw(10);

cout<<"Hello"<<endl;

}


正确答案:xxxxxHello
xxxxxHello

第8题:

下面程序的结果是includeclass A{public: A(){cout<<"construtA"<

下面程序的结果是 #include<iostream.h> class A { public: A(){cout<<"construtA" <<endl;} virtual ~A() {cout << "destructA" <<endl;}}; class B:public A { }; class C:public A { }; class D:public B,public C { }; void main() { Dd;}

A.constructA

B.constructA

C.constmctA

D.constmctA destructA constructA constmctA constructA destructA constructA constructA destructA destructA constructA destructA dest


正确答案:B
解析:类D继承了类C和类B,所以在构造的时候分别构造类B和类C。

第9题:

下面程序的执行结果是______。 include include using namespace std; vo

下面程序的执行结果是______。

include<iostream.h>

include<iomanip.h>

using namespace std;

void main()

{

cout<<setfill('x')<<setw(10);

cout<<"Hello"<<endl;

}


正确答案:xxxxxHello
xxxxxHello 解析:本题考核I/O的格式化输出。setfill('x')表示填充字符为'x',并且一直有效,直到再次设置填充字符为止。setw(10)表示将输入输出宽度设置为10,当实际数据宽度小于指定的宽度时,多余的位置用填充字符填满;当实际数据的宽度大于设置的宽度时,仍按实际的宽度输出。宽度设置的效果只对一次输入或输出有效,在完成一个数据的输入或输出后,宽度设置自动恢复为0(表示按数据实际宽度输入输出)。题中字符串“Hello”的宽度不够10,所以其前面将有5个填充符 'x'。