C++继承方法,无法实现鸭子类型
#include <常用>
#include "向量针.cpp"
元<类 T>构 A{
整 i;
空 f(){
静转<T>(本)->f();
}
};//不能放一起.只能用变量.
构 B:公 A<B>{
空 f(){
打印("啊");
}
};
构 C:公 A<C>{
空 f(){
打印("哦");
}
};
构 D:公 A<D>{
空 f(){
打印("D");
}
};
空 主(){//失败.把两步并为一步.
向量针<A>a;a.加<B,C,D>();
对(动&p:a.们){
p->f();
}//打印出来都是A.
}
//f函数不是`A`的成员.
主要是,没向量统一他们,不能放在一起.
如果A没有f()函数,报:f函数不是A的成员.的错误.
有了f()没有虚,全部打印的是A.
有虚,效率又差!
浙公网安备 33010602011771号