基类指针转换成派生类指针可不可以调用派生类对象成员
时间: 2023-11-23 13:56:08 浏览: 75
是的,基类指针转换成派生类指针后可以调用派生类对象成员。这是因为派生类继承了基类的所有成员,包括成员函数和成员变量。当基类指针指向派生类对象时,可以通过将基类指针转换为派生类指针来访问派生类对象的成员函数和成员变量。
下面是一个示例代码,演示了如何将基类指针转换为派生类指针并调用派生类对象的成员函数:
```cpp
#include <iostream>
using namespace std;
class Base {
public:
virtual void show() {
cout << "This is the base class" << endl;
}
};
class Derived : public Base {
public:
void show() {
cout << "This is the derived class" << endl;
}
void display() {
cout << "This is the display function of the derived class" << endl;
}
};
int main() {
Base *bptr;
Derived d;
bptr = &d;
bptr->show(); // 输出:This is the derived class
Derived *dptr = (Derived*)bptr;
dptr->display(); // 输出:This is the display function of the derived class
return 0;
}
```
阅读全文