直接用派生类指针指向基类的对象,
会导致语法错误。
但是可以将派生类指针强制转换为基
类指针,然后调用基类的成员。
派生类对象指针=static_cast<派生类*>(&基类对象);
#include<iostream>
using namespace std;
class A
{
int x;
public:
A(int i){x=i;}
void dispa(){cout<<"x="<<x<<endl;}
};
class B:public A
{
int y;
public:
B(int i, int j):A(i){ y=j;}
void dispb(){cout<<"y="<<y<<endl;}
};
int main()
{
A a(10);
B b(20, 30), *p;
p=static_cast<B*> (&a);
p->dispa();
p = &b;
p->dispa();
return 0;
}
本文详细介绍了如何使用派生类指针指向基类对象,并通过强制类型转换来调用基类成员函数,探讨了在C++中面向对象编程时的类型转换技巧。
1028

被折叠的 条评论
为什么被折叠?



