有如下程序: #include<iostream> using namespace std; class A { public: A(int i){x=i;} void dispa(){cout<<x<<’,’;} private: int x: }; c

admin2015-11-24  14

问题 有如下程序:
#include<iostream>
using namespace std;
class A
{
public:
A(int i){x=i;}
void dispa(){cout<<x<<’,’;}
private:
int x:
};
class B:public A
{
public:
B(int i):A(i+10){x=i;}
void dispb(){dispa();cout<<x<<endl;}
private
int x;
};
int main()
{
B b(2);
b.dispb();
return 0;
}
运行时输出的结果是(    )。

选项 A、10.2
B、12,10
C、12,2
D、2,2

答案C

解析 此题考查的是派生类的构造。主函数中,首先声明B类的对象b,执行进入B的构造函数B(int i)再接着执行A的构造函数A(int i)。形参i为12,x被赋值12;通过对象b调用其成员函数dispb(),输出结果12;接着执行函数dispb()的第2条语句输出2,然后主函数结束。
转载请注明原文地址:https://jikaoti.com/ti/N3E0FFFM
0

最新回复(0)