#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();
本文深入探讨了C++编程语言中面向对象编程的基本概念,并通过类A和类B的实例展示了多态性的应用。通过具体代码示例,详细解释了如何在C++中实现和使用多态性特性。
325

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



