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

admin2016-10-28  16

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义类的私有变量a、b,请在注释//********1********后添加适当的语句。
(2)完成类的构造函数,对变量a、b赋值,缺省两个变量值为1,在注释//********2********之后添加语句。
(3)完成打印函数display(),打印出“a*b=c”格式的
一个乘法算式,在注释//********3********之后添加语句。
(4)补充主函数,使得打印9×9的乘法口诀。在注释//********4********后添加语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include<iostream.h>
class CMyFormula
{
private:
//********1********

public:
//********2********

{
this->a=a;
this->b=b;
}
void set(int x,int y)
{
a=x;
b=y;
}
void display()
{
//********3********

}
};
int main()
{
CMyFormula formular(1,1);
for(inti=1;i<=9;i++)
{
//********4********
for(int j=1;j++)
{
formular.set(j,i);
formular.dispiay();
cout<<" ";
}
cout<<endl;
}
return0;
}

选项

答案(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<=i;j++)

解析 (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缺省值为1,因此第2个标识下应添加“CMyFormula(int a=1,int b=1)”。
(3)。打印函数display()在屏幕上打印出“a*b=c”格式的一个乘法算式,因此第3个标识下应添加“cout<<a<<’*’<<b<<’=’<<a*b;”。
(4)观察可知第4个标识下的for循环是死循环,J没有判断退出条件,会一直循环下去得不到想到的9×9的口诀表,外层循环变量i从1开始变化至9,循环9次,内部循环变量j应该从1变化到i,输出一行,j<=i,这样保证输出的是倒9×9口诀,因此第4个标识下应改为“for(int j=1;j<=i.j++)”。
转载请注明原文地址:https://kaotiyun.com/show/V7Np777K
0

最新回复(0)