使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类的私有变量a、b,请在注释//********1********后添加适当的语句。 (2)完

admin2018-10-23  20

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
    (1)定义类的私有变量a、b,请在注释//********1********后添加适当的语句。
    (2)完成类的构造函数,对变量a、b赋值,缺省两个变量值为1,在注释//********2********之后添加语句。
    (3)完成打印函数display(),打印出“a*b=c”格式的一个乘法算式,在注释//********3********之后添加语句。
    (4)补充主函数,使得打印9×9的乘法口诀。在注释//********4********后添加语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1  #include<iostream.h>
2  class CMyFormula
3  {
4  private:
5    //********1********
6
7  public:
8    //********2********
9
10    {
11    this->a=a;
12    this->b=b;
13    }
14    void set(int x,int y)
15    {
16    a=x;
17    b=y;
18    }
19    void display()
20    {
21    //********3********
22
23    }
24  };
25  int main()
26  {
27    CMyFormula formular(1,1),
28    for(int i=l,i<=9;i++)
29    {
30    //********4********
31    for(int j-1 j++)
32    {
33    formular.set(j,i};
34    formular.display();
35    cout<<’’ ’’;
36    }
37    cout<<end1;
38    }
39    return 0;
40  }

选项

答案(1)添加语句:int a,b; (2)添加语句:CMyFormula(int a=1,int b=1) (3)添加语句:cout<<a<<’*’<<b<<’=’<<a*b; (4)将“for(int j=1; j++)”补充完整为:for(int j=1;j<=1;j++)

解析 程序当中定义了类CMyFormula,含有a和b两个成员变量,一个构造函数,改变成员变量a和b的值得set(int x,int y)函数,打印a和b的乘积的display()函数。在主函数中定义了一个CMyFormula对象,然后不断改变该对象的a和b的值,然后调用display()显示,如此完成打印9×9的乘法口诀。
    (1)第1个标识下完成CMyFormula类的私有变量a、b的定义,从函数set(int x,int y)的参数类型可以看出a和b均为int型变量,故第1个标识下应添加“int a,b;”。
    (2)第2个标识下添加构造函数声明,完成对变量a、b赋值,该构造有两个参数a和b,且a和b缺省值为l,因此第2个标识下应添加“CMyFormula(inta=1,int b=1)”。
    (3)打印函数display()在屏幕上打印出“a*b=c”格式的一个乘法算式,因此第3个标识下应添加“cout<<a<<’*’<<b<<’=’<<a*b;”。
    (4)观察可知第4个标识下的for循环是死循环,i没有判断退出条件,会一直循环下去得不到想到的9×9的口诀表,外层循环变量i从1开始变化至9,循环9次,内部循环变量i应该从1变化到i,输出一行,i<=i,这样保证输出的是倒9×9口诀,因此第4个标识下应改为“for(int j=1;j<=i;j++)”。
转载请注明原文地址:https://jikaoti.com/ti/kPt0FFFM
0

最新回复(0)