使用VC6打开考生文件夹下的工程MyProj3。此工程包含一个源程序文件 MyMain3.cpp,其中定义的类并不完整。请按要求完成下列操作,将类的定义补充完整。 ①定义类Planet的保护数据成员distance和revolve,它们分别表示行星距

admin2009-01-15  45

问题 使用VC6打开考生文件夹下的工程MyProj3。此工程包含一个源程序文件 MyMain3.cpp,其中定义的类并不完整。请按要求完成下列操作,将类的定义补充完整。
   ①定义类Planet的保护数据成员distance和revolve,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance为double型,revolve为int型。请在注释“//**1**”之后添加适当的语句。
   ②定义类Earth的构造函数Earth(double d,int r),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*3.1416。请在注释“//**2**”之后添加适当的语句。
   ③定义类Earth的成员show(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释“//**3**”之后添加适当的语句。
   文件MyMain3.cpp中源程序如下:
   //MyMain3.cpp
   #include<iostream>
   using namespace std;
   class Planet
   {
   protected:
     //* * 1 * *
   public:
      Planet(double d, int r)
      {
         distance = d;
         revolve = r;
      }
   };
   class Earth:public Planet
   {
   private:
      double circumference;
   public:
      //* * 2 * *
      //* * 3 * *
   };
   int main ( )
   {
      Earth obj (9300000, 365);
      obj. show;
      return 0;
   }

选项

答案①double distance;int revolve; ②Earth(double d,int r):Planet(d,r){circumference=2*d*3.1416;} ③oid show(){cout<<distance<<","<<revolve<<","<<circumference<<end1;}

解析 本题主要考核类的继承与派生。
   ①第1处是完成类Planet的保护数据成员distance和revolve的定义,根据题意可填入:
   double distance;int revolve;
   ②第2处是定义类Earth的构造函数Earth(double d,int r),并在其中计算地球绕太阳公转的轨道周长。由此可填入:
   Earth(double d,int r):Planet(d,r){circumference=2*d*3.1416;}
   ③第3处是定义类Earth的成员show(),用于显示所有信息。根据要求可填入:
   oid show(){cout<<distance<<","<<revolve<<","<<circumference<<end1;}
转载请注明原文地址:https://kaotiyun.com/show/DOID777K
0

最新回复(0)