类型转换
1. static_cast<> 可以转换内置数据类型; 不可以转换没有关系的指针或引用; 可以转换有继承关系的指针或引用(父类转子类或子类转父类都可以); // static_cast<> // 1. 内置对象 int a = 97; char c = static_cast<char>(a); // OK cout << c << endl; // 2. 自定义类型对象 // Building bb; // Animal aa = static_cast<Animal>(bb); // error: no matching function for call to ‘Animal::Animal(Building&)’ // 3. 不同类型的指针转换 // int *p = &a; // char *pc = static_cast<char*>(p); // error: invalid static_cast from type ‘int*’ to type ‘char*’ // cout << pc << endl; // Animal * pa = NULL; // Building *pb = static_cast<Building*>(pa); // error: invalid static_cast from type ‘Animal*’ to type ‘Building*’ // 4....