5,530
社区成员




#include <iostream>
using namespace std;
class A
{
public:
virtual ~A()
{
}
virtual void Func1() = 0;
};
//B类继承A类,
class B : public A
{
public :
~B()
{
}
void Func1()
{
printf("B类 你好!\n");
}
};
//C类继承A类。
class C : public A
{
public:
~C()
{
}
void Func1()
{
printf("C类 你好!\n");
}
void xFunc1()
{
printf("C类 你好!!!!\n");
}
};
int main(int argc, char** argv)
{
A* pb = new B;
A* pc = new C;
pb->Func1();
pc->Func1();
// 可以通过这种向下转型的方式,调用C中特有的成员函数
(dynamic_cast<C*>(pc))->xFunc1();
return 0;
}