阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。 [C++程序] //Auto.h #ifndef AUTO_H

admin2010-12-16  24

问题 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。
   [说明]
   下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。
   [C++程序]
   //Auto.h
   #ifndef AUTO_H
   #define AUTO_H
   class automobile
   {
   (1):
   int miles_per_gallon;    //汽车每加仑行驶公里数
   float fuel_capacity;    //油箱容积
   public:
   void initialize(int in_mpg,int in_fuel);
   int get_mpg(void);
   float get_fuel(void);
   float travel_distance(void);
   }
   #endif
   //Auto.cpp
   #include"auto.h"
   void automobile::initialize(int in_mpg,float in fuel)
   {
   miles_per_gallon=in_mpg;
   fuel_capacity=in_fuel;
   )
   int automobile::get_mpg()    //提供一辆特定汽车每加仑公里数
   {return miles per_gallon;}
   float automobile::get_fuel()    //提供油箱容积
   {return fuel_capacity;}
   float automobile::travel_distance()
   {return  (2) }
   //car.h
   #ifndef CAR_H
   #define CAR_H
   #include"auto.h"
   class car:  (3)   
   {
   int Total_doors;
   public:
   void initialize(int in_mpg,float in_fuel,int doors=4);
   int doors(void);
   };
   #endif
   //car.cpp
   #include"car.h"
   void car::initialize(int in_mpg,float in_fuel,int door)
   {
   Total_doors=door;
   miles_per_galion=in_mpg;
   fuel_capacity=in_fuel;
   }
   int car::doors(void)
   {return Total doors;}
   //Allauto.cpp
   #include
   #include"auto.h"
   #include"car.h"
   int main()
   {
   car sedan;
   sedan.initialize(24,20.0,4);
   tout<<"The sedan can travel"<< (4) <<"miles.\n";
   cout<<"The sedan has"<< (5) <<"doors.\n";
   return 0;
   }

选项

答案(1) protected (2) fuel_capacity/miles_per_gallon (3) public automobile (4) sedan.travel_distance() (5) sedan.doors()

解析 本题以C++语言为载体,考查面向对象程序设计中的关于类的几个概念,包括继承以及基类和派生类中函数的调用。
   本题的功能是定义了一个automobile基类,并由其派生出了car类,主函数中定义了car的对象,并通过该对象调用了基类和派生类中的函数。
   首先,通过整体阅读该题目,我们发现类car中的initialize函数直接对基类中的两个成员函数赋值,所以基类中的两个成员函数应该是被保护的,(1)处应填入“protected”。在基类中提供了这样一个成员函数travel_distance,它返回的是该交通工具的可能行驶距离,根据题目中给出的数据,(2)处应填入“fuel_capacity/miles_per_gallon”。
   其次,本题还考查了派生类继承的方式,由于在主函数中直接通过car的对象调用了基类的公有函数,所以派生方式应为公有,(3)处应填入“public automobile”。
   最后,通过定义car的对象sedan,分别调用了基类和派生类中的一个函数,(4)处应填入“sedan.travel_distance()”,(5)处应填入“sedan.doors()”。
转载请注明原文地址:https://kaotiyun.com/show/b6jZ777K
0

最新回复(0)