应当将指针变量用“==”或“!=”与 NULL 比较
应当将指针变量用“==”或“!=”与 NULL 比较。
指针变量的零值是“空”(记为 NULL)。
尽管 NULL 的值与 0 相同,但是两者意义不 同。
假设指针变量的名字为 p,它与零值比较的标准 if 语句如下: if (p == NULL) // p 与 NULL 显式比较,强调 p 是指针变量 if (p != NULL) 不要写成 if (p == 0) // 容易让人误解 p 是整型变量 if (p != 0) 或者 if (p) // 容易让人误解 p 是布尔变量 if (!p)
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 //定义最低层基类,它作为其他类的基类 6 class First { 7 int val1; 8 public: 9 First(void) { 10 cout<<"The First initialized"<<endl; 11 } 12 }; 13 //定义派生类,它作为其他类的基类 14 class Second :public First { 15 int val2; 16 public: 17 Second(void) { 18 cout<<"The Second initialized"<<endl; 19 } 20 }; 21 //定义最上层派生类 22 class Three :public Second { 23 int val3; 24 public: 25 Three() { 26 cout<<"The Three initialized"<<endl; 27 } 28 }; 29 //定义各基类的对象,测试构造函数的执行情况 30 //定义各基类的对象,测试构造函数的执行情况 31 32 int main(int argc, char** argv) { 33 34 cout<<"First f1;"<<endl; 35 First f1; 36 cout<<"Second s1;"<<endl; 37 Second s1; 38 cout<<"Three t1;"<<endl; 39 Three t1; 40 return 0; 41 }