我正在阅读斯坦福大学教授Nick Parlante的C ++ Essential讲义。以下是一个代码示例:
/* 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);
}
我的问题是,为什么当类型为Account
时此函数返回零?这在这里是否意味着错误?
答案 0 :(得分:3)
该函数返回Account*
,而不是Account
。那个0是一个空指针常量。