title: Why static class type function returns zero?
body: <p>I'm reading C++ Essential handout by Stanford professor Nick Parlante.The following is a code example:   </p>
  
  <pre><code>/* If C++ kept class name information around at run-time,
      this would be easier. */
      static Account *RandomAccount(void) {
      switch (RandomNum(3)) {
      case 0: return(new Gambler); break;
      case 1: return(new NickleNDime); break;
      case 2: return(new MonthlyFee); break;
      }
      return(0);
      }
  
  static int RandomNum(int num) {
  return(rand() % num);
  }
  </code></pre>
  
  <p>My question is, why this function returns zero when the type is <code>Account</code>?Does it mean false here?</p>