问答题
18分
打开考生文件夹proj1下的工程proj1,此工程包含程序文件main.cpp,其中有类TimesTable(“乘法口诀表”)的定义和主函数main的定义。程序中位于每个// ERROR&n...
打开考生文件夹proj1下的工程proj1,此
工程包含程序文件main.cpp,其中有类TimesTable(“乘法口诀表”)的定义和
主函数main的定义。程序中位于每个// ERROR **********found**********下的
语句行有错误,请加以改正。更正后程序的输出应该是:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
注意:只能修改每个// ERROR **********found**********下的那一行,不
要改动程序中的其他内容。
工程包含程序文件main.cpp,其中有类TimesTable(“乘法口诀表”)的定义和
主函数main的定义。程序中位于每个// ERROR **********found**********下的
语句行有错误,请加以改正。更正后程序的输出应该是:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
注意:只能修改每个// ERROR **********found**********下的那一行,不
要改动程序中的其他内容。
参考解析: 参考答案:
1、TimesTable(int n=9) { count=n; }改为TimesTable(int n=9) : count(n) { };
2、void Print() const改为void TimesTable ::Print() const
3、for(i=1;i<count;i++)改为for(i=1;i<=count;i++)
考点分析:
主要考察类中成员函数,在类定义的外部来实现。成员函数后附加const的作用
答案解析:
1、const为只读变量,const变量在定义时必须初始化,否则C++认为是语法错误,根据构造函数count=n,可以,成员变量count,不能定义成const类型。
2、类中的成员函数,在函类外部定义,必须附加域说明符,来表示该函数属于某个类的。
3、根据题设值,计算出从1~n的乘法口诀表,包括n在内,因此有=号。