使用VC6打开考生文件夹下的工程test15_1,此工程包含一个源程序文件test15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下: My object has member 7 源程序文件test15_1.cp

admin2009-01-15  41

问题 使用VC6打开考生文件夹下的工程test15_1,此工程包含一个源程序文件test15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:
   My object has member 7
   源程序文件test15_1.cpp清单如下:
   #include<iostream.h>
   class MyClass
   {
   public:
   MyClass(int mem){member=mem;}
      ~MyClass(){}
      int GetAge()const{ return member;}
   private:
    int member;
   };
   /*****+********+** found *************/
   void main()
   {
    int mem=7;
   /*************** found ***************/
    MyClass myObj=MakeObject(mem);
    cout<<"My object has member"<<myObj->GetAge()<<endl;
   /***************** found ****************/
    delete;
   }
   MyClass *MakeObject(int mem)
   {
    MyClass *pMyClass=new MyClass(mem);
    return pMyClass;
   }

选项

答案(1)添加函数定义MyClass*MakeObject(int mem); (2)错误:MyClass myObj=MakeObject(mem); 正确:MyClass *myObj=MakeObject(mem); (3)错误:delete; 正确:delete myObj;

解析 (1)主要考查考生对于函数定义规则的理解,在使用前先定义,这是规定;
(2)主要考查考生对于指针的掌握,因为函数返回值为指针,所以返回值必须赋值给一个指针类型的变量;
(3)主要考查考生是否会使用delete释放空间,使用delete删除一个指针时,只需要直接把指针变量的名称写在后面。
转载请注明原文地址:https://kaotiyun.com/show/OOID777K
0

最新回复(0)