使用VC6打开考生文件夹pmjI下的工程pmjI,其中定义了一个CD类。程序中位于每个//ERROR************found**********下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是: 歌唱祖国30

admin2021-05-06  23

问题 使用VC6打开考生文件夹pmjI下的工程pmjI,其中定义了一个CD类。程序中位于每个//ERROR************found**********下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:
  歌唱祖国30
  义勇军进行曲95
  注意:只能修改每个//ERROR**********found***********下的那一行,不要改动程序中的其他内容。
#include
#include
usinq namespace std;
clasS CD
{   
    char name[20],
    int number;
public:
    void init(char*aa,int bb)
    {
    //ERROR*****found*****
    name=aa;
    number=bb;
    }
    char*getName(){
    //ERROR*****found*****
    return*name;
    }
    int getNumber(){return number;)
    void output(){
    //ERROR*****found*****
    cout<ber<    }
  };
    void main()
    {
    CD dx,dy;
    dx.init(”歌唱祖国”,30);
    dy.init(”义勇军进行曲”,3*dx.getNumber()+5);
    dx.output();
    dy.output();
    }

选项

答案(1)strcpy(name,aa); (2)return name; (3)cout<
解析 程序定义CD类,它包含两个数据成员:字符数组name和整型变量number;还包含四个公有成员函数,init()函数接收两个参数,用参数对数据成员进行赋值;getName()函数返回数据成员name;getNumber()函数返回数据成员number;output()函数将数据成员name和number输出。CD类的定义体中,有三个错误:
    (1)init()函数将形参aa赋给name,由于n&rne是字符数组,所以不能通过简单的赋值运算符进行赋值,应该使用strcpy()函数将形参aa指向的字符串拷贝到name中。
    (2)getName()函数的返回值为char*类型,所以函数体的return语句应该返回name,而不是name指向的字符串。
    (3)output()函数需要输出两个数据成员,输出字符数组时,只需要给出数组名name即可。
转载请注明原文地址:https://kaotiyun.com/show/jPfp777K
0

随机试题
最新回复(0)