使用VC6打开考生文件夹下的工程test34_1,此工程包含一个源程序文件test34_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: David 3123 1000 源程序文件test34_1.cpp清单如下:

admin2010-02-08  28

问题 使用VC6打开考生文件夹下的工程test34_1,此工程包含一个源程序文件test34_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
   David 3123 1000
   源程序文件test34_1.cpp清单如下:
       #include <iostream.h>
       #include <string.h>
       class person
       {
       public:
        char name[20];
        unsigned long id;
        float salary;
        void print(){cout<<name<<’  ’<<id<<’  ’<<salary<<
       /*****************  found  *****************/
       }
       void main( )
       {
        person p;
        person *ptr;
       /*****************  found  *****************/
        ptr=p;
       /*****************  found *****************/
        strcpy("David",ptr->name);
        ptr->id=3123;
        ptr->salary=1000;
        ptr->print();
       }

选项

答案(1)错误:} 正确:}; (2)错误:ptr=p; 正确:ptr=&p; (3)错误:strcpy("David",ptr>name); 正确:strcpy(ptr->name,"David");

解析 (1)类定义的一般格式为:
   class<类名>
   {
   pubic:
   <数据成员或成员函数的说明>
   private:
   <数据成员或成员函数的说明>
   protected:
   <数据成员或成员函数的说明>
   };
   花括号表示类的声明范围,说明该类的成员,其后的分号表示类声明结束,类声明最后的分号是不可少的;
(2)p为类person的对象,ptr为指向类person对象的指针,所以将p的值赋给ptr应该为ptr=&p,即ptr指向对象p;
(3)strcpy()函数的一般形式为:
   strcpy(to,from);
   该函数将from字符串中的内容复制到to字符串,所以将字符串“David”赋值给ptr所指对象的数据成员name的语句应该为:
    strcpy(ptr->name,"David")。
转载请注明原文地址:https://kaotiyun.com/show/qKID777K
0

最新回复(0)