#include <stdio.h>
#include <stdlib.h>
class A
{
public:
};
class B:public A
{
public:
};
void main()
{
}
输出为
A myfunc!
A mytest!
B myfunc!
B mytest!
A myfunc!
B mytest!
类A的myfunc()为实函数,mytest()为虚函数;所以当pAa = &Bb后
pAa->myfunc();输出为
将派生类地址赋给基类指针是安全的,如:pAa = &Bb;,但将基类地址赋给派生类指针则是不安全的,如:pBb = pAa.
此处的new是必须的,用于创建对象.
若要在对象pBb中调用其基类A中的成员,可以用
pBb->A::myfunc();
pBb->A::mytest();