C++中对多态的支持

来源:互联网 发布:法国 衰落知乎 编辑:程序博客网 时间:2024/05/20 22:36
     使用C++基类的对象不能完成多态的特性,比如:
    class base
    { 
//... 
};  
 
class subclass 
{ 
//... 
}; 
 
使用一个基类的实体来完成多态会出现问题,如:
base test;
subclass testsub;
test = testsub;
test.fun();

    这样的话testsub转换成test丢失了部分数据,因此调用fun()时其实是调用base:fun();

 

    通过base class的指针或者是引用才可以实现多态的特性。

    base * testagain = testsub;

testagain->fun();             //OK

 

原创粉丝点击