Arnob Arnob - 1 year ago 121
C++ Question

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;

static int RandomNum(int num) {
return(rand() % num);

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

Answer Source

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

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download