title: Good practice in C++ function/method design
body: <p>I have a confusion about C++ function/method design as below:</p>
  
  <p>1.</p>
  
  <pre><code>class ArithmeticCalculation
  { 
  private:
      float num1_;
      float num2_;
      float sum_;
  
      void addTwoNumbers();
  };
  </code></pre>
  
  <p>2.</p>
  
  <pre><code>class ArithmeticCalculation
  { 
  private:
      float addTwoNumbers(float num1, float num2);
  };
  </code></pre>
  
  <p>In 1., one can basically declare a class variable and the void addTwoNumbers() will just implement it and assign to the class variable (<code>sum_</code>). I found using 1. is cleaner but using 2. looks like it more intuitive for function use. </p>
  
  <p>Which one is actually best option considering the function/method is not restricted to only this basic addition functionality -- I mean in general how to decide to use with return or simply void?</p>