一个小c++测试程序:
#include
#include
class A{
public:
virtual void test(){ printf("A:test()\n");}
};
class B: public A{
void test(){ printf("B:test()\n");}
};
int main()
{
B b;
A a = b;
a.test();
B *b1 = new B();
A *a1 = b1;
a1->test();
system("pause");
return 0;
}
打印结果:
A:test()
b:test()
a.test()这个是真正的将B转换成了A的对象,并不是多态。 (不知道我这么说专业不专业?^_^)
而在java中,想将子类强制转成父类,好像不可以吧?Java里是默认多态的
阅读(374) | 评论(0) | 转发(0) |