阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明]下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。[C++程序]//Auto.hifndef AUTO_Hdefine AUTO_Hclass automobile{(1):int miles_per_gallon; //汽车每加仑行驶公里数float fuel_capacity; //油箱容积public:void initialize(int in_mpg,int in_fuel);int get_mpg(

题目

阅读以下说明和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;

}


相似考题
更多“阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序是为汽车市场编制的 ”相关问题
  • 第1题:

    阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面程序实现十进制向其它进制的转换。

    [C++程序]

    include"ioStream.h"

    include"math.h"

    include

    typedef struct node {

    int data;

    node*next;

    }Node;

    Class Transform.

    {

    DUDlic:

    void Trans(int d,int i); //d为数字;i为进制

    void print();

    private:

    Node*top;

    };

    void Transform.:Trans(int d,int i)

    {

    int m,n=0;

    Node*P;

    while(d>0)

    {

    (1);

    d=d/i;

    p=new Node;

    if(!n){

    p->data=m;

    (2);

    (3);

    n++;

    }

    else{

    p->data=m;

    (4);

    (5);

    }

    }

    }

    void Transform.:print()

    {

    Node*P;

    while(top!=NULL)

    {

    p=top;

    if(p->data>9)

    cout<<data+55;

    else

    cout<<data;

    top=p->next;

    delete p;

    }

    }


    正确答案:(1) m=d%i (2) top=p (3) top->next=NULL (4) p->next=top (5) top=p
    (1) m=d%i (2) top=p (3) top->next=NULL (4) p->next=top (5) top=p 解析:本题考查C++编程,主要考查了链表的使用。
    所有的问题只出在函数Trans中,它的功能是完成将十进制数d转换为任意进制i的数,并存在数组中。函数中首先定义了一个指向链表结点的指针,然后开始进行转换,进制转换应该是一个很常见的问题,就是不断的求模运算,所以(1)处应填入“m=d%i”。然后,我们要把求模的结果保存到链表结点中,并使链表首指针指向该结点,结点中指向下一个结点”的指针设为空,所以(2)处应填入“top=p”,(3)处应填入“top->next=NULL”。由于求模运算是从低位到高位逐位求出的,所以在我们在进行完第二次求模运算后,应该将第二次运算的结果放到链表首位,所以(4)处应填入“P->next=top”,(5)处应填入“top=p”。

  • 第2题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

    【说明】

    阅读下面几段C++程序回答相应问题。

    比较下面两段程序的优缺点。

    ①for (i=0; i<N; i++ )

    {

    if (condition)

    //DoSomething

    else

    //DoOtherthing

    }

    ②if (condition) {

    for (i =0; i<N; i++ )

    //DoSomething

    }else {

    for (i=0; i <N; i++ )

    //DoOtherthing

    }


    正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
    程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

  • 第3题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第4题:

    阅读以下说明,以及用C++在开发过程中所编写的程序代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    在下面函数横线处填上适当的字句,使其输出结果为:

    构造函数.

    构造函数.

    1,2

    5,6

    析构函数

    析构函数.

    【C++代码】

    include "iostream.h"

    class AA

    { public;

    AA(int i,int j)

    {A=i; B=j;

    cout<<"构造函数.\n";

    }

    ~AA(){(1);}

    void print();

    private:

    int A, B;

    };

    void AA∷print()

    {cout<<A<<","<<B<<endl;}

    void main()

    {

    AA *a1, *a2;

    (2)=new AA(1, 2);

    a2=new AA(5, 6);

    (3);

    a2->print();

    (4) a1;

    (5) a2;

    }


    正确答案:(1)cout"析构函数.\n" (2)a1 (3)a1—>print() (4)delete (5)delete
    (1)cout"析构函数.\n" (2)a1 (3)a1—>print() (4)delete (5)delete 解析:本题考查用C++语言对输出的实现。
    题目中没有什么条件,只给出了输出结构,要求程序能实现这个输出。下面来具体分析代码。
    第(1)空很明显是类AA的析构函数的函数体,类的析构函数一般在撤销一个对象时调用,根据题目的要求,要输出析构函数这样的结果,而在程序中没有与此相关的操作,那么此空应该是用来实现这个功能的,借鉴构造函数中的内容,我们很容易就得出此空答案为cout"析构函数.\n"。
    第(2)空在主函数中,很明显此空所在的语句是创建一个AA类的对象,并让一个AA型的指针变量指向这个对象。在函数开始的时候声明了两个AA型的指针变量a1和a2,而a2在下面已经有了值,那么这里只有用变量a1,因此此空答案为a1。
    第(3)空是在创建了两个对象后执行的语句,根据程序不难推断出,这里应该要实现对象a1的数据输出,那么就要调用函数print(),因此此空答案为a1->print()。
    第(4)空所在的语句是在实现了构造函数与数据输出后执行的语句,从题目要求来分析,这里应该要调用对象的析构函数来输出“析构函数”这样一个结果,上面我们已经分析到了对象的析构函数一般在撤销对象时调用。从对象的执行过程来分析,在对象的所有处理完成后也应该撤销对象来释放所占的资源,那么此空的任务应该是用来撤销a1对象,在C++中一般用关键字delete,因此此空答案为delete。
    第(5)空和第(4)空的情况一样,因此此空答案为delete。

  • 第5题:

    ●试题二

    阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    该程序运行后,输出下面的数字金字塔

    【程序】

    include<stdio.h>

    main ()

    {char max,next;

    int i;

    for(max=′1′;max<=′9′;max++)

    {for(i=1;i<=20- (1) ;++i)

    printf(" ");

    for(next= (2) ;next<= (3) ;next++)

    printf("%c",next);

    for(next= (4) ;next>= (5) ;next--)

    printf("%c",next);

    printf("\n");

    }

    }


    正确答案:
    ●试题二【答案】(1)(max-′0′)(2)′1′(3)max(4)max-1(5)′1′【解析】该程序共有9行输出,即循环控制变量max的值是从1~9。每行输出分3部分,先用循环for语句输出左边空白,(1)空填"(max-′0′)";再用循环输出从1到max-′0′的显示数字,即(2)空和(3)空分别填1和max;最后输出从max-′1′~1的显示数字,即(4)空和(5)空分别填和max-1和′1′。

  • 第6题:

    阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。
    【说明】
    某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种
    类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。






    答案:
    解析: