#include <iostream>
#include<iostream>
using namespace std;
class A
{
public:
void foo()
{
printf("1\n");
}
virtual void fun()
{
printf("2\n");
}
};
class B : public A
{
public:
void foo()
{
printf("3\n");
}
void fun()
{
printf("4\n");
}
void testB()
{
printf("testB\n");
}
};
int main(int argc, const char * argv[]) {
A a;
B *ptr = (B *)&a;
ptr->foo();
ptr->fun();
ptr->testB();
B bb;
A *aa = &bb;
aa->foo();
aa->fun();
return 0;
}
A a;
B ptr = (B )&a;
ptr->foo();
ptr->fun();
ptr->testB();
派生类的对象B并没有创建??
为什么能够使用,
多态是怎么调用的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
建议题主仔细了解一下c++需函数和需函数表的实现。http://blog.csdn.net/haoel/article/details/1948051/