Q: Why static class type function returns zero? I'm reading C++ Essential handout by Stanford professor Nick Parlante.The following is a code example:   
/* 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);
}

My question is, why this function returns zero when the type is Account?Does it mean false here?

A: The function returns Account*, not Account. That 0 is a null pointer constant.
