问答题
请使用“答题”菜单或使用VC6打开考生文件夹projl下的工程projl,此工程包含程序文件main.cpp,其中有类TimesTable(“乘法口诀表”)的定义和主函数main的定义。程序中位于每个//ERROR **********found**********下的语句行有错误,请加以改正。更正后程序的输出应该是:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=82*8=16 3*8=24 4*8=32 5*8=加6*8=48 7*8=56 8*8=641*9=92*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81注意:只能修改每个//ERROR **********found**********下的那一行,不要改动程序中的其他内容。#include<iostream>#include<iomanip>using namespace std;class TimesTable//乘法口诀表{public://ERROR **********found**********TimesTable(int n=9){count:n;)void Print()const;private:const int count;};//ERROR **********found**********void Print()const{int i,j;//ERROR **********found**********for(i=1;i<count;i++){for(J=1;j<=i;j++)cout<<j<<‘* ’<<i<<‘=’<<left<<setw(4)<<j*i;cout<<endl;}}int main(){TimesTable obj;obj,Print();return 0;}
【正确答案】正确答案:(1)TimesTable(int n=9):count(n){} (2)void TimesTable::Print()const (3)for(i=1;i<=count;i++)
【答案解析】解析:主要考查类中成员函数,在类定义的外部来实现。成员函数后附加const的作用 【解题思路】 (1)const为只读变量,const变量应该在成员初始化列表中赋初值,否则C++认为是语法错误,可知成员变量count,定义const类型,不能在构造函数中赋值。 (2)类中的成员函数,在类外部定义,必须附加域说明符,来表示该函数属于某个类的。 (3)根据题设值,计算出从1一n的乘法口诀表,包括n在内,因此使用“<=”运算符。