为什么我的C ++程序会输出这个?

时间:2017-05-27 16:00:50

标签: c++

<div class="col-xs-12 mainbox" >
<form name="loginForm">
    <div class="spacing"></div>
      <h5>Please input your data:</h5>
      <input ng-model="vm.username" type="text" placeholder="Username" class="form-control input-md">
      <div class="spacing">
          <div class="alert alert-danger" ng-if="!vm.username && vm.username.$touched">
              Please put your username!
          </div>
      </div>
      <input id="textinput" name="textinput" type="text" placeholder="Κωδικός" class="form-control input-md">
      <div class="spacing"></div>
      <button id="singlebutton" name="singlebutton" class="btn btn-info btn-sm pull-right">Είσοδος</button>
</form>

当上述程序运行时,它输出:

In constructor
In function input_value
Variable is even
In destructor
Variable is 100

我是C ++的新手,我很难为什么打印出所有这些线。我认为它不会打印任何东西,因为只调用了onemorefunction函数,就是这样。任何帮助表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:1)

程序的输出应该是,最后两行输出

In destructor
Variable is 100
打印

是因为在对象的生命周期结束时最后调用析构函数。

答案 1 :(得分:1)

programming object;创建一个名为object的对象,其类型为programming。创建对象会调用构造函数。这就是你获得前两行输出的原因。当对象在}末尾的结束main处超出范围时,对象将被销毁,并调用析构函数。这就是你获得最后两行输出的原因。并调用onemorefunction打印中间行,因为这是函数中的代码所做的。