阅读下列说明和C++代码,回答问题。 [说明] 已知下列程序运行时的输出应为: 1:1 1:1 1:1 [C++程序] 01 #include <iostream> 02 using namespace

admin2012-04-11  12

问题 阅读下列说明和C++代码,回答问题。
   [说明]
   已知下列程序运行时的输出应为:
   1:1
   1:1
   1:1
   [C++程序]
   01  #include <iostream>
   02  using  namespace  std;
   03  class  stick{
   04  protect;
   05   _________ {};
   06  Stock(int n, int pr=1) {
   07  shares=n;  share_val=pr;
   08  };
   09  void~stock(    ) {};
   10  public:
   11  //成员函数
   12  void output(    ){
   13   ________ <<shares<<":"<<share val<<endl;
   14  }
   15  private:
   16  //成员变量
   17  int  shares;
   18  int  share_val;
   19  };
   20
   21  void main(    ){
   22  Stock a(1); a. output(    );
   23  Stock b; b. output(    );
   24  Stock C=Stock(    ); c.output(    );
   25  }
请补齐上述代码中的空缺(1)和(2)。

指出该代码是否存在内存泄漏。

选项

答案不存在内存泄漏

解析 由题中程序可知类Stock有默认的构造函数,且该构造函数将初始化类中一些成员变量,所以(1)处应该为Stock的构造函数。成员函数output用于输出成员变量的值,所以(2)处应为cout。对于[问题2]由于类至少有一个公共的构造函数,所以第4行的protect应该改为public,而析构函数不能有返回值,所以第9行应该去掉void。对于[问题3]main函数中类的使用没有通过new操作符生成Stock类的对象,所以不存在内存泄漏
转载请注明原文地址:https://jikaoti.com/ti/6rL7FFFM
0

随机试题
最新回复(0)