c++子类指针转父类指针
时间: 2023-11-03 15:01:17 浏览: 175
在C++中,子类指针可以转换为父类指针。这种转换是安全的,因为子类对象是父类对象的一种特殊情况。这种转换可以通过隐式或显式的方式进行。
隐式转换是指将子类指针直接赋值给父类指针,不需要显式地使用任何类型转换操作符。例如:
```cpp
class Parent {
// 父类的成员
};
class Child : public Parent {
// 子类的成员
};
int main() {
Child child;
Parent* parentPtr = &child; // 隐式转换
return 0;
}
```
显式转换是指使用类型转换操作符`static_cast`将子类指针转换为父类指针。例如:
```cpp
class Parent {
// 父类的成员
};
class Child : public Parent {
// 子类的成员
};
int main() {
Child child;
Parent* parentPtr = static_cast<Parent*>(&child); // 显式转换
return 0;
}
```
阅读全文