若有如下程序:#include<iostream>using namespace std;class A{public:A(int i,int j){a=i;b=j;}

题目
若有如下程序:includeusing namespace std;class A{public:A(int i,int j){a=i;b=j;}

若有如下程序: #include<iostream> using namespace std; 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<<a<<","<<b<<end1; } private: int a,b; }; class B:private A { public: B(int i,int j):A(i,j) { } void fun() { move(3,5); } void f1() { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是( )。

A.3,4

B.6,8

C.6,9

D.4,3

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

第1题:

有如下程序:includeusing namespace std;Class TestClass{private:int x,y;public:Te

有如下程序: #include<iostream> using namespace std; Class TestClass { private: int x,y; public: TestClass(int i,int j) { x=i; y=j; } void print() { cout<<“print1”<<endl; } void print()const { cout<<”prin

A.printl

B.print2

C.printl print2

D.程序编译时出错。


正确答案:B
解析: 本题定义TestClass型的常对象a,然后调用对象a中的成员函数print()。因为在C++中,如果一个对象被声明为常对象,则不能调用镇对象中的非const型的成员函数。所以,这里调用的是对象中的const型成员函数“void print()const”,输出为print2。

第2题:

若有如下程序:includeusing namespace std;Class TestClass1{private:int a;public:T

若有如下程序: #include<iostream> using namespace std; Class TestClass1 { private: int a; public: TestClassl(int i) { a=i; } void disp() { cout<<a<<“,”; } }; Class TestClass2 { private: int b; public

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D
解析: 首先定义TestClass3的对象Obj,参数为10。其中TestClass3为TestClassl和TestClass2的派生类。然后调用disp成员函数。Disp中首先执行“TestClassl::disp();”,然后执行“TestClass2::disp();”,最后执行输出语句“coutcend1”。TestClass1(k-2),所以第一个输出8,TestClass2(k+2),第二个输出12,最后一个本类中的输出即为10。

第3题:

有如下程序: include using namespace std; int main(){ int sum;

有如下程序: #include<iostream> using namespace std; int main(){ int sum; for(int i=0;i<6;i+=3){ sum=i; for(int j=i;j<6;j++)sum+=j; } cout<<sum<<end1; return 0; } 运行时的输出结果是( )。

A.3

B.10

C.12

D.15


正确答案:D
解析:此题考查的是for循环。首先进入外循环,根据循环条件,i的初始化值为0,赋值给sum,进入内循环.i的初值也被赋值为 i的初始值0,所以第一次内循环sum值为0,判断j=0,小于6,进行第二次内循环,sum的值为1,同理,仍然进行内循环直到j=6,跳出内循环,sum=15:外循环中i=3,i6,满足循环条件进入第二次外循环,i=3,sum=3,进入内循环,j=3,同理,计算内循环中sum的值,直到j=6跳出内循环,此时sum=15;外循环中i=6,跳出外循环,执行输出语句,即sum=15。

第4题:

若有以下程序:include using namespace std;class A{private:int a;public:A(im i){a

若有以下程序: #include <iostream> using namespace std; class A { private: int a; public: A(im i) { a=i; } void disp() cout<<a<<","; } }; class B { private: int b; public: B(int j) { b=j; } void disp0 { cout<<b<<","; } }; class C: public B,public A { private: int c; public: C(int k):A(k-2),B(k+2) { c=k; } void disp0 { A::disp(); B::disp(); cout<<c<<endl; } }; int main() { C obj(10); obj.disp(); return 0; } 程序执行后的输出结果是( )。

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D

第5题:

若有以下程序 include using namespace std; class A {private:int a; public: A(in

若有以下程序 #include <iostream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp() { cout<<a<<","; } }; class B { private: int b; public: B(int j) { b=j; } void disp() { cout<<b<<","; } }; class C: public B,public A { private: int c; public: C(int k):A(k-2),B(k+2) { c=k; } void disp() { A::disp(); B::disp(); cout<<c<<end1; } }; int main() { C obj(10); obj.disp(); return 0; } 程序执行后的输出结果是

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D
解析:本题考核派生类构造函数的使用。本题中,派生C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

第6题:

有以下程序:includeusing namespace std;class A{private:int a;public:A(int i){a=i

有以下程序: #include<iostream> using namespace std; class A {private: int a; public: A(int i) {a=i;} void disp() {cout<<a<<“,”;}}; class B {private: int b; public: B(int j) {b=j;} void disp() {cout<<b<<“,”;

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D
解析: 本题中,派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。

第7题:

程序的输出结果是【 】。 include using namespace std; class A{ public: A(){a=b=2;}

程序的输出结果是【 】。

include <iostream>

using namespace std;

class A{

public:

A(){a=b=2;}

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

void display(){cout<<a<<b;}

private:

int a,b;

};

void main(){

A m,n(4,8);

m.display();

n.display();

}


正确答案:2248
2248 解析:m对象使用和默认的构造函数,其a与b变量的值均为2;而n变量使用4和8来初始化程序的变量,a,b的值为4和8,依次输出的结果为2248。

第8题:

有以下程序: include using namespace std; class sample {int x; public:void setx(

有以下程序:

include <iostream>

using namespace std;

class sample

{

int x;

public:

void setx(int i)

{

x=i;

}

int putx ()

{

return x;

}

};

int main ( )

{

sample *p;

sample A[3];

A[0] .set>:(5);

A[1] .setx(6);

A[2] .setx(7);

for (int j=0;j<3;j++)

{

p=&A[j];

cout<<p->putx () <<", ";

}

cout<<end1;

return 0;

}

执行后的输出结果是【 】。


正确答案:567
5,6,7 解析:本题考核对象指针与对象数组的应用。主函数中定义对象数组A,然后调用各自的setx()函数赋值,最后通过for循环输出各自内部变量,所以程序最后输出5,6,7。

第9题:

有以下程序: include using namespace std; int main() {int i=010,j=10;cout<<(++i)

有以下程序:

include <iostream>

using namespace std;

int main()

{

int i=010,j=10;

cout<<(++i)<<","<<i--<<end1;

return 0;

}

则该程序运行后的输出结果是【 】。


正确答案:910
9,10 解析:本题考核自增运算符和自减运算符的使用以及常量的表示形式。程序中i的值是八进制,代表十进制中的8,++i是在语句运算前自身加1,而j--是在语句运算结束后减1。

第10题:

有以下程序:include using namespace std;class A{public: A(int i,int j) { a=i; b=

有以下程序: #include <iostream> using namespace std; 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<<a<<","<<b<<end1; } private: int a,b; }; class B: private A { public: B(int i,int j): A(i,j) {} void fun() { move(3,5); } void fl () { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是

A.3,4

B.6,8

C.6,9

D.4,3


正确答案:C
解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数fl中调用基类A的成员函数show,来显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun和fl,通过上述对函数fun和n的功能的描述可知,程序最后输出6和9。

更多相关问题