以下程序输出结果为______。 #include<iostream> using namespace std; class TestClass 1 { public: TestClass1(){} TestCla

admin2012-01-20  22

问题 以下程序输出结果为______。
   #include<iostream>
   using namespace std;
   class TestClass 1
   {
   public:
   TestClass1(){}
   TestClass1(int i)
   {x1=i;}
   void dispa()
   {cout<<"x1="<<x1<<",";}
   private:
   int x1;
   }:
   class TestClass2:public TestClass1
   {
   public:
   TestClass2(){}
   TestClass2(int i):TestClass1(i+10)
   {
   x2=i:
   }
   void dispb()
   {
   dispa();
   cout<<"x2="<<x2<<end1;
   }
   private:
   int x2:
   }:
   int main()
   {
   TestClass2 b(2):
   b.dispb();
   return 0;
   }

选项

答案x1=12,x2=2

解析 由主函数main入于,首先定义类TestClass2的对象b,成员数据为2。然后调用dispb函数。dispb中首先执行dispa函数,TestClass2为TestClass1的派生类,“TestClass2(int i):TestClass1(i+10)”所以TestClass1中的x1=12,所以dispa输出的结果为x1=12。在TestClass1中x2=2,所以dispb中的输出语句“cout<<"x2="<<x2<<end1;”中输出x2=2。即答案为“x1=12,x2=2”。
转载请注明原文地址:https://kaotiyun.com/show/NPVp777K
0

最新回复(0)